我有一个这种格式的表:
id | ....... | other_id
-------------------------
1 | ....... | 5
2 | ....... | 2
基本上,在提交表单时,表单中有时会有other_id
的值,并且新行的插入正常。但是,如果other_id
没有给定值,我希望其值来自id
。问题是id
是自动递增ID,因此id
的实际值在实际插入表格之前是未知的。
有没有办法用SQL本身动态执行此操作,而不必在以后运行其他查询?
答案 0 :(得分:1)
您可以使用插入触发器:
CREATE TRIGGER foo AFTER INSERT ON TABLENAME FOR EACH ROW
IF NEW.other_id IS NULL THEN
SET NEW.other_id := NEW.id;
END IF;;
答案 1 :(得分:0)
@ jh314几乎是正确的。只需将INSERT INSERT改为INSFORE INSERT
即可