当没有明确给出新值时,让字段获取另一个字段的值

时间:2013-07-09 14:50:06

标签: php mysql

我有一个这种格式的表:

 id | ....... | other_id
-------------------------
  1 | ....... |    5     
  2 | ....... |    2

基本上,在提交表单时,表单中有时会有other_id的值,并且新行的插入正常。但是,如果other_id没有给定值,我希望其值来自id。问题是id是自动递增ID,因此id的实际值在实际插入表格之前是未知的。

有没有办法用SQL本身动态执行此操作,而不必在以后运行其他查询?

2 个答案:

答案 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

即可
相关问题