开发者社区> 问答> 正文

MySQL触发器可以模拟CHECK约束吗??mysql

我想在MySQL中使用CHECK约束,但不受支持。(与其他RDBMS不同,它将理解但不强制执行CHECK。)

我已经看到了一些使用触发器的解决方法。但是他们倾向于为相关字段设置默认值,而不是返回错误。

如果不满足条件,是否可以构造一个返回错误的触发器?

最终,我想要一个复制CHECK约束的触发器。

展开
收起
保持可爱mmm 2020-05-17 19:57:54 944 0
1 条回答
写回答
取消 提交回答
  • 尝试以下语法

    CREATE TRIGGER mytabletriggerexample BEFORE INSERT FOR EACH ROW BEGIN IF(NEW.important_value) < (fancy * dancy * calculation) THEN DECLARE dummy INT;

    SELECT Your meaningful error message goes here INTO dummy 
        FROM mytable
      WHERE mytable.id=new.id
    

    END IF; END;来源:stack overflow

    2020-05-17 19:58:10
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像