mysql - 删除检查命令在 MYSQL 中不起作用

标签 mysql

我试图在 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/

相关文章:

MySql:当周是实际周和前一周时从表中选择

java - 从 Java 在 MySQL 中记录 utf-8 字符串时出现问题

mysql - Prestashop 1.6 : query to add product weight to all items

mysql - 通过检查条件将批量数据插入表中

php - 更新时如何插入数据?

mysql - 查询选择记录

mysql - Rails 验证并发输入的唯一性失败

c# - MySql.Data.dll 中的 IO.FileNotFoundException : Can't load System. 安全性.权限

php - 警告 : mysql_fetch_array(): supplied argument is not a valid MySQL Result in line 40

mysql - 这个查询和子查询有什么问题?