MySQL在插入之前触发更改主ID

时间:2018-12-28 22:43:17

标签: mysql triggers database-trigger

我的目标是防止两列成为相同的整数。

id, relative
1,4
2,4
3,4
4,4 (NO!)
5,4

如果相对值等于插入前的ID,我想触发一个跳过ID(主键)值的触发器。所需结果:

id, relative
1,4
2,4
3,4
5,4 
6,4

这是我要工作的触发器的一部分:

if new.relative=new.id then set new.id=new.id+1;
end if;

但是它什么也没做。我该如何工作?

1 个答案:

答案 0 :(得分:0)

我不确定您如何实现触发器,但是这是语法

代码

CREATE OR REPLACE TRIGGER same_value 
BEFORE DELETE OR INSERT OR UPDATE ON table_name 
FOR EACH ROW 
WHEN (table_name.id = table_name.relative) 
BEGIN 
#whatever you want to implement 
END; 

资源

https://www.tutorialspoint.com/plsql/plsql_triggers.htm