Mysql触发器在插入之前删除数据

时间:2014-08-03 10:17:18

标签: mysql triggers

php 中,我发出 mysqli插入,如:insert into parts (PartNo, OrderNumber) VALUES (?,?)

在我的用例中,部分表中不存在 PartNo 列,我只将其用作参考。

然后,在部分表的触发器中,我想做这样的事情:

  1. 将new.PartNo的值存储在名为“PartNumber”的临时变量中;
  2. 完全删除new.PartNo,以便mysql不会尝试将其插入'parts'表中,因为'parts'表中不存在该列;
  3. 使用变量'PartNumber'从另一个表中选择一个值;
  4. 将返回的值插入“parts”表中的现有列
  5. 所以,我必须通过提供 partNo 来简化我的插入语句,而触发器将完成剩下的操作以便正确处理插入。

    我的问题是:B)可能,如果可能,怎么样?只需将其设置为 new.PartNo为空似乎不会削减它。

    感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

它不可能在您编写时完全执行插入操作。 为什么不首先使用select来获取变量中所需的数据,然后在part表中插入该变量?