mysql - 在 MySQL 中创建 TRIGGER 时出现问题

标签 mysql triggers

我第一次在 MYSQL 工作台中使用触发器概念,如下查询,

首先,我使用以下查询创建了people表,

CREATE TABLE people (age INT, name varchar(150));

然后我使用下面的查询来触发

DELIMITER 
CREATE TRIGGER agecheck BEFORE INSERT ON raptor1_5.people FOR EACH ROW IF NEW.age < 0 THEN SET NEW.age = 0; END IF;

DELIMITER ;

但是agecheck触发器未创建people表。当我运行此查询时,它没有显示任何错误消息。

这是我的表格图像,

enter image description here

更新:基于答案

enter image description here

最佳答案

尝试一下。

USE `raptor1_5`;

DELIMITER $$

DROP TRIGGER IF EXISTS raptor1_5.agecheck$$
USE `raptor1_5`$$
CREATE TRIGGER agecheck BEFORE INSERT ON people 
FOR EACH ROW 
BEGIN
 IF NEW.age < 0 THEN 
   SET NEW.age = 0; 
 END IF;
END$$
DELIMITER ;

关于mysql - 在 MySQL 中创建 TRIGGER 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30259180/

相关文章:

sqlite - 在多行插入语句sqlite上使用触发器

mysql - 优化存储过程以将 250k 记录更新为 1.7m 记录表中的随机记录?

java - 将sql语句从java推送到数据库,executeUpdate()返回NullPointerException

mysql - CodeIgniter - 使用 MySQL 5.7 JSON_CONTAINS 函数

MYSQL触发器插入或更新不同的表

WPF - ControlTemplate 中的 MultiTrigger,奇怪的行为

mysql - 使用 beginTransaction();和提交();在 magento 的管理 Controller 中

mysql - UTF8 - Hibernate/MySQL 怪异

sql-server - 如何保留表更改的审核/历史记录

mysql触发器,在更正错误后获取触发器重新计算整个表