テーブル作成後に複数のカラムを対象にしたプライマリーキー制約を設定することはできるのでしょうか。
テーブル作成時であれば、次の方法により設定することができます。
※col_name1及びcol_name2に設定したい場合
CREATE TABLE tbl_name
(col_name1 int NOT NULL, col_name2 int, col_name3 varchar(255),
PRIMARY KEY(col_name1, col_name2));
しかし、一旦テーブルを作成した後に、プライマリーキー制約を設定し忘れたことに気が付き、設定したい場合は、いかなる方法によりできるのでしょうか。
次の方法にて試みたものの、エラーが生じました。
【SQL文】
ALTER TABLE tbl_name
MODIFY col_name1 int, col_name2 int,
PRIMARY KEY(col_name1, col_name2);
【エラー内容】
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'col_name2 int,
PRIMARY KEY(col_name1, col_name2)' at line 1
テーブルを削除し、再作成時にプライマリーキー制約を設定する方法によっても対応できますが、削除しなくてもこれを行える方法があるのか否かを知りたく、質問させていただきました。
No.1ベストアンサー
- 回答日時:
MySQLは全然さわったことがないのですが、
http://dev.mysql.com/doc/refman/5.1/ja/alter-tab …
を見る限り、プライマリーキーを追加するだけなら
ALTER TABLE tbl_name
ADD PRIMARY KEY(col_name1, col_name2);
でいいのではないですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- JavaScript 配列の1要素を代入した変数を使って元の配列要素を削除できるか 1 2023/07/28 03:34
- MySQL MYSQL エラー 2 2022/10/18 11:37
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Excel(エクセル) Excel 、この式はどのように解釈すればいいのでしょうか 4 2023/02/03 08:53
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLを作ったのですがうまくいき...
-
SQLです教えてくださいお願いし...
-
SQL教えてください。
-
(初心者)MySQLやmaraDBで、crea...
-
SQLです教えてくださいお願いし...
-
SQLです教えてください。
-
SQLです。こんな感じですか?あ...
-
次の時間帯の勝率の合計を求め...
-
エラー 1068 (42000): 複数の主...
-
SQLです教えてくださいお願いし...
-
htmlコードで書かれた表にphpで...
-
SQLでカラムを追加し、条件に合...
-
int(11)の(11)とは何を意味して...
-
SQLです下記の問合せを行うクエ...
-
#1062 - '0' は索引 'PRIMARY' ...
-
【初歩】ラジオボタンをつかっ...
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
utf8bomとutf8mb4の違いがいま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VIEWに対してWHERE句をつける
-
空白文字を含む文字列データの検索
-
JOIN使ってないのに、JOIN操作...
-
count()の結果を別の計算で使う...
-
レコード全加算
-
コマンドプロンプト 実行結果...
-
SQLのエイリアス
-
複数テーブルの集計
-
mysql insertのselect
-
Mysql 同一テーブルの複数「別...
-
コマンドプロンプト 複数の実...
-
Mysqlで「"A"以外を選択」でき...
-
MySQL + PHP での自動採番
-
Mysql 参照 計算
-
複数のカラムを対象にしたプラ...
-
Null値が入れられない
-
nullと同じく空白をCountしない...
-
SQLでLIMIT句を入れるとエラー...
-
NULLを含む列の足し算
-
SQL文を入力したらエラー
おすすめ情報