触发器看起来不错,唯一缺少的是分隔符。
我刚刚创建与样品表TRIGER这里是
delimiter //
create trigger mytrigger before insert on person4
for each row
begin
if new.salary < 5000 then
set new.salary = 6000;
end if;
end;//
delimiter;
这里是MySQL测试
mysql> create table person4(id int, name varchar(20),salary int);
Query OK, 0 rows affected (0.16 sec)
mysql> insert into person4 values (1,'aa',6000);
Query OK, 1 row affected (0.06 sec)
mysql> select * from person4;
+------+------+--------+
| id | name | salary |
+------+------+--------+
| 1 | aa | 6000 |
+------+------+--------+
1 row in set (0.01 sec)
mysql> insert into person4 values (1,'bb','3000');
Query OK, 1 row affected (0.04 sec)
mysql> select * from person4;
+------+------+--------+
| id | name | salary |
+------+------+--------+
| 1 | aa | 6000 |
| 1 | bb | 6000 |
+------+------+--------+
2 rows in set (0.00 sec)
看起来像你缺少的分隔符。在开始的时候'分隔符//'最后'结束; //' – 2014-12-02 18:16:16
这样做:'分隔符// 之前 插入上 person4 每一行 创建触发器mytrigger 开始 如果new.salary <5000然后 设置new.salary = 6000; end if; end; //'但仍显示错误。 – Rob 2014-12-02 18:20:43
您还应该在末尾恢复分隔符:分隔符; – 2014-12-02 18:31:16