任何人都知道,我尝试过多次在我的mysql sql中使用alter table constraint。
所以我想改变表约束以在性别列中添加验证:
alter table jewerly
add constraint checkGender CHECK(Gender='Male' OR Gender='female');
是吗?我不知道是什么问题,但它总是在我的mysql上返回空结果。为什么?
我从另一个线程读取,它说如果返回空结果则是正常的。
但我尝试导出我的sql,我看到我的sql上没有添加任何禁令查询。
有谁知道这个问题?
==
注意:它标记为重复问题,但最后一个帖子只有sollution用于检查性别约束,如果我想添加另一个约束怎么样?添加后,约束总是丢失。
答案 0 :(得分:0)
MySQL没有支持检查约束,这就是为什么即使在SHOW CREATE TABLE上也看不到它
答案 1 :(得分:0)
处理此问题的一种方法是创建性别表(ID,性别)并使用珠宝表上的外键来引用性别表。
将一个gender_id列添加到珠宝表中,然后在珠宝表上创建一个外键。
ALTER TABLE jewelry ADD CONSTRAINT fk_jewelry_gender
FOREIGN KEY (gender_id) REFERENCES gender (id) ON DELETE NO ACTION ON UPDATE CASCADE