繁体   English   中英

在我的sql中添加列,不允许使用的值

[英]Add column in my sql , with values that are not allowed

如何添加列,不允许该列中的值示例...列年龄,不允许的值为1,2,3,6(允许其他值)我尝试使用检查约束,但mySql忽略了它。 ..

您能帮我解决这个问题还是至少给我发送有关该问题的材料。

非常感谢!

检查约束在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触发器。

欲了解更多信息, 请点击这里

希望能帮助到你!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM