在 MySQL 中创建 TRIGGER 时出现问题

Problems creating TRIGGER in MySQL

我是第一次在 MYSQL workbench 中使用触发器概念,如下面的查询,

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

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 table。当我 运行 这个查询时,它没有显示任何错误消息。

这是我的 table 图片,

更新:基于回答

标准触发器语法应为

DELIMITER  //

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

DELIMITER ;

以上是当你在 mysql cli 上 运行 时,但是在 phpmyadmin 或 workbench 中检查你是否有设置分隔符的选项,如果是,选择那个并删除分隔符以上部分。

试试这个。

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 ;