SQL
1create table test ( 2 id int(11) not null auto_increment, 3 test1 int(11) not null, 4 test2 int(11) not null, 5 test3 int(11) not null, 6 test4 int(11) not null, 7 PRIMARY KEY (`id`), 8 UNIQUE KEY `test_test` (`test1`,`test2`) 9) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; 10
上記のようなテーブルを作成したとします。
create時に、ユニークキーとして登録したカラムは、test1
,test2
でした。
ですが、「ユニークキーとして test3
も追加したい」という場合、下記のようにユニークキーを削除し、改めてカラムを指定して登録するという手順を踏むことで対応が可能なことが分かりました。
SQL
1alter table test drop index `test_test`; 2alter table test add unique `test_test` (`test1`,`test2`,`test3`); 3
ですが、一旦削除せずに、1回のコマンドで項目を追加する方法はあるのでしょうか?
SQL
1alter table test change unique `test_test` (`test1`,`test2`,`test3`,`test4`); 2alter table test update unique `test_test` (`test1`,`test2`,`test3`,`test4`);
上記の方法はエラーになりましたが、こんな感じのコマンドがあってもいいんじゃないかと思ったのですが、「そんなものはない!」と分かればそれはそれでスッキリするのですが...

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/11 06:15
2019/03/11 06:39