如何添加列,其中不允许使用该列中的值 示例...列时间,不允许的值为1,2,3,6(允许其他值) 我试图使用检查约束,但mySql忽略了它...
你能帮我解决这个问题,或者至少给我发一个关于这个问题的资料。
非常感谢!
答案 0 :(得分:0)
检查约束在MySql中不起作用。
备选方案:
在桌面上添加两个触发器:
示例查询:
CREATE TRIGGER checkage_bi BEFORE INSERT ON mytable FOR EACH ROW
-> BEGIN
-> DECLARE dummy,baddata INT;
-> SET baddata = 0;
-> IF NEW.color = 'white' or NEW.color = 'black' or NEW.color = 'red' THEN
-> SET baddata = 1;
-> END IF;
-> IF baddata = 1 THEN
-> SELECT CONCAT('Cannot Insert This Because Color ',NEW.color,' is Invalid')
-> INTO dummy FROM information_schema.tables;
-> END IF;
-> END; $$
您也可以类似地创建Before Update
触发器。
了解更多信息click here
希望它有所帮助!