我需要通过删除
MySQL上的现有密钥来生成唯一键.我目前的版本是MySQL 5.7
我使用以下查询删除了现有密钥,
DROP INDEX `uk_bookid_bookname` ON Books;
其中BookId是外键.
然后,我使用以下查询添加了新的唯一键,
ALTER TABLE Books ADD UNIQUE uk_bookid_bookname (BookId, BookName);
我收到以下错误,
ERROR 1553 (HY000): Cannot drop index ‘uk_bookid_bookname’: needed in a foreign key constraint
我需要删除现有密钥,然后添加一个新的唯一密钥.但是,反之亦然.
最佳答案 你必须删除外键. MySQL中的外键自动在表上创建索引
ALTER TABLE mytable DROP FOREIGN KEY mytable_ibfk_1 ;
然后添加另一个索引键