人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQLのデータベースの主キーを単一のものから複合キーに変更したい場合の設定について教えて下さい。

MySQLサーバーをローカルフォルダに立ち上げ、ODBC Connector3.5.1を使用して接続して利用しています。

さて、MySQLサーバーを立ち上げる際、コマンドプロンプトから以下のmysqlの命令を出しました。
このテーブル(A001M)は正常に作成され、問題なく動いていました。

create table A001M
(
人間 varchar(10)
,特技 varchar(40)
,所属グループ varchar(10)
,CONSTRAINT KEY_NAME PRIMARY KEY (人間)
);

この後、改訂があり、一人の「人間」が複数の「所属グループ」に所属する場合も有りうることにしました。これに伴い、主キーを人間と所属グループの複合キーにしたいと思い、コメント欄に示すコードで改定してみたところ、重複する「人間」データを持つレコードでは「特技」「所属グループ」も重複するレコードのデータが複製され、同一になってしまうという不具合が出ました。

これを改善するにはどうしたら良いでしょうか?

お力お貸し下さい。よろしくお願いします。

●質問者: ReoReo7
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Key MySQL ODBC キー グループ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● pahoo
●35ポイント

ODBC 経由で A001M に何か操作をした後、commit しないうちに alter しようとしていませんか?

MySQLコマンドラインから alter してみてください。


いずれにしても、MySQLのバージョン、動作環境(OS)が分からないと、回答が困難です。

◎質問者からの返答

ありがとうございます。

mysqlコマンドラインからalter後にcommitしてみましたが、やはり同様の問題が生じます。

OSはWindows XP Professional

MySQLはMySQL Server 5.1です。


2 ● pahoo
●35ポイント

テーブル名やカラム名に日本語を使っているのですか?

だとすると、英数字で再定義してみてください。

◎質問者からの返答

ありがとうございます。

申し訳ありません、テーブル名やカラム名は英数字(主に大文字)で行っております。

日本語や一部の小文字は、説明のために改変しました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ