您需要使用 SIGNAL SQL STATE 命令来停止 MySQL 中的插入或更新操作。触发器语法如下:DELIMITER // CREATE TRIGGER yourTriggerName BEFORE INSERT ON yourTableName FOR EACH ROW BEGIN yourCondition THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'anyMessageToEndUser'; END // DELIMITER ;现在,创建一个触发器,该触发器将在某些条件下阻止在表中插入记录。创建触发器的查询如下:mysql> DELIMITER // mysql> CREATE TRIGGER InsertPreventTrigger BEFORE INSERT ON Insert_Prevent -> FOR EACH ROW -> BEGIN -> IF(new.Id < 1 or new.Id > 5) THEN ... 阅读更多
对于条件 NOT NULL 案例,您不需要使用和 = 运算符。您需要使用 IS NULL 和 IS NOT NULL 属性,因为 NULL 是 MySQL 中的一个特殊情况。为了理解条件 NOT NULL 案例,让我们创建一个表。创建表的查询如下:mysql> create table ConditionalNotNullDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> SendMessage longtext, -> PRIMARY KEY(Id) -> ); 查询成功,0 行受影响 (0.62 秒)在表中插入一些记录 ... 阅读更多