MySQL触发器: Before Insert or After Insert

标签 mysql triggers

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

每当创建新账单时,我想生成一个由年、周和增量编号组成的账单编号。我想用触发器来做到这一点。触发器将使用现有的账单编号来查找增量编号,或者从新的一周和/或新的一年中的第一个账单的新增量开始。

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

我的问题是我应该选择哪一个。 插入之前还是插入之后?我确实搜索过这个,但我找不到何时使用 BEFORE 或 AFTER 的良好论证。

最佳答案

发现可以使用BEFORE INSERT来完成,只是因为MySQL不允许操作触发AFTER INSERT触发器的表。

关于MySQL触发器: Before Insert or After Insert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11057408/

相关文章:

python - 使用 MySql 在 Flask 中分页

mysql - 查询错误 (1064) : Syntax error near 'INTERSECT(SELECT friend_id FROM user_friend_list WHERE user_id = ' 2 0' and frien' at line 3

php - 在 PHP 中使用 BLOB 的 getimagesize() 获取图像尺寸

triggers - SalesForce.com - 报告审批流程变通办法

mysql - 同一服务器上两个数据库之间的镜像

用于级联删除的 MYSQL 触发器 : Workaround needed

mysql - 在 MySQL 上触发

如果在启动时自动启动,则无法通过控制面板停止 Yosemite 上的 MySql

Python SQLAlchemy 类型错误 : unhashable type: 'dict' when trying to instantiate model with one-to-many relationship

sql - 从 .Net 应用程序调用存储过程后如何检测触发器失败?