我想把支票从table上放下来。当我在mysql中使用这个查询时,我没有得到任何check约束的名称。
SHOW CREATE TABLE test
CREATE TABLE `test (``ID` int(11) NOT NULL AUTO_INCREMENT,
`price` int(11) DEFAULT NULL CHECK (`price` > 20),
PRIMARY KEY (`ID`)
)`
我想把支票从table上放下来。当我在mysql中使用这个查询时,我没有得到任何check约束的名称。
SHOW CREATE TABLE test
CREATE TABLE `test (``ID` int(11) NOT NULL AUTO_INCREMENT,
`price` int(11) DEFAULT NULL CHECK (`price` > 20),
PRIMARY KEY (`ID`)
)`
1条答案
按热度按时间xbp102n01#
在mysql 8.0.16中,我测试了您的表:
现在我们看到mysql自动生成的check约束的名称。
这记录在https://dev.mysql.com/doc/refman/8.0/en/alter-table.html
| DROP {CHECK | CONSTRAINT} symbol
一旦我删除了check约束,它就不再显示:如果您使用的是8.0.16之前的mysql版本,则不需要执行任何操作,因为早期版本的mysql不支持检查约束。没有要删除的内容,因为创建表时它不会保存约束。