MySQL触发器:插入前或插入后

时间:2012-06-15 19:58:16

标签: mysql triggers

我正在开发一些用于计费的数据库项目(PHP / MySQL)。

每当创建新账单时,我想生成包含年,周和增量编号的账单编号。我想用触发器做这件事。触发器将使用现有的账单编号来查找增量编号,或者以新的一周和/或新年的第一个账单的新增量开始。

除了生成帐单号码,我可以执行BEFORE INSERT触发器并将NEW.billnumber设置为新生成的帐单号码。也可以执行AFTER INSERT并使用生成的billnumber更新记录。

我的问题是我应该选择哪一个。 BEFORE INSERTAFTER INSERT?我确实在搜索这个,但是在使用BEFORE或AFTER时我找不到好的论据。

1 个答案:

答案 0 :(得分:2)

发现它只能用BEFORE INSERT完成,因为MySQL不允许操纵触发AFTER INSERT触发器的表。