我试图在 mySQL 中删除以下检查约束:
constraint music_artist_genre_name_ck check (genre_name in ('Country', 'Hip Hop', 'Jazz', 'Pop', 'Rock')
我已经尝试过该命令
ALTER TABLE music_artist DROP CHECK music_artist_genre_name_ck;
我很难理解为什么这不起作用。有人能给我正确的命令来删除支票吗?
最佳答案
CHECK 约束定义在 MySQL 中被忽略。
示例:
create table check_test (
val int,
constraint my_check check (val in (0, 1))
);
show create table check_test;
结果是:
CREATE TABLE `check_test` (
`val` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
演示:http://rextester.com/MAZG17623
正如您所看到的,没有 CHECK 约束,因此没有什么可删除的。
关于mysql - 删除检查命令在 MYSQL 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49478617/