【发布时间】:2010-11-15 18:09:07
【问题描述】:
我想要一个触发器来对插入的记录执行以下操作:
# pseudocode
if new.group_id is null
set new.group_id = new.id
else
# don't touch it
end
更清楚地说:假设我有一个包含三列的表:id 主键,group_id int,value varchar。
当我像这样用group_id 插入时:
INSERT INTO table(value, group_id) VALUES ('a', 10)
我想要:
id | group_id | value
---+----------+------
1 | 10 | a
但是当我省略group_id:
INSERT INTO table(value) VALUES ('b')
应该自动设置为这条记录的id:
id | group_id | value
---+----------+------
2 | 2 | b
可以用触发器吗? (我知道我可以在插入后更新记录,但有触发器会更好。)
【问题讨论】: