mysql - 如何更改 AFTER INSERT 触发器中的列值?

标签 mysql

我有一个 AFTER INSERT 触发器,我必须在其中更新刚刚插入的行的列的值。我显然不能使用:

SET new.column = value;

我已经尝试在触发器中进行手动更新,但也不允许这样做。

有什么简单的方法可以解决这个问题吗?

非常感谢!

最佳答案

AFTER 触发器通常用于更新除正在更新的行之外的其他内容。例如,如果您想记录已进行更新的事实,AFTER 触发器是理想的选择。

要在插入列时更改列的值,您需要使用前触发器。例如

在 mytable 上插入之前创建触发器 modify_column SET @column = 值;

其中值是查询、预定义值或 NEW.column

关于mysql - 如何更改 AFTER INSERT 触发器中的列值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1740634/

相关文章:

mysql - 如何在 mysql 触发器中使用 common_schema?

mysql - 将行值转置为列

javascript - 我无法通过 ajax 从 View 到 Controller 获取 id。但 id 显示在警告框中

php - PDO 准备语句。选择一切

mysql - Rails 在不同的动态范围下两次连接同一个表

mysql - 在 SQL 中跨多个连接表记录查找最近匹配的最有效方法

php - 使用javascript获取元素id

mysql - 如何构造一个mysql子查询

MySQL 组合表并将具有唯一行 ID 的多个列转置为非唯一行

mysql - 无法部署应用程序