更新后的MySQL,更新同一表的datetime列

用户名

我有一个名为的表teamMembers,该表存储一个人的名称和电子邮件地址:

id       INT (UNIQUE, AUTOINCREMENT)
name     VARCHAR(255)
email    VARCHAR(255)
updated  DATETIME
created  TIMESTAMP

我使用创建了触发器phpMyAdmin,在此导出中如下所示:

CREATE TRIGGER teamMembers.updated_updater 
AFTER UPDATE ON teamMembers
    FOR EACH ROW 
        BEGIN
            UPDATE teamMembers SET updated = NOW() WHERE id = OLD.id;
        END

因此,当我使用这样的查询时:UPDATE teamMembers SET name = 'test' WHERE id = 1我应该将更新的列设置为当前日期时间。

但是,这不起作用,我收到此错误消息:

#1442-无法更新存储函数/触发器中的表'teamMembers',因为调用该存储函数/触发器的语句已使用该表。

我真的无法弄清楚问题出在哪里。我认为这是因为该触发器也会调用自身,因此将成为一个无限循环。我认为必须有一种方法可以自动更新刚刚更新的记录,而不会更改我的查询。

有人可以帮助我使用MySQL触发器更新到updated列吗?

戈登·利诺夫

使用before触发器:

CREATE TRIGGER teamMembers.updated_updater 
BEFORE UPDATE ON teamMembers
    FOR EACH ROW 
BEGIN
    SET new.updated = NOW();
END

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在同一表的同一列中更新

来自分类Dev

从同一表更新一个表的列

来自分类Dev

插入触发器后更新同一表

来自分类Dev

插入触发器后更新同一表

来自分类Dev

减去后,用值更新同一表的字段

来自分类Dev

基于同一表的MySQL更新表

来自分类Dev

从同一表mysql的选择值更新相同的表

来自分类Dev

根据MYSQL同一表中的另一列更新列中的值

来自分类Dev

来自同一表的MYSQL更新值

来自分类Dev

MySQL更新与同一表子查询

来自分类Dev

MySQL更新使用来自同一表的数据

来自分类Dev

在同一表中的更新上的子查询mysql

来自分类Dev

MySQL - 百分比计算并在同一表的其他列中更新

来自分类Dev

SQL比较同一表中的两列,并在另一表中更新

来自分类Dev

从同一表更新相同数据

来自分类Dev

mysql更新同一表中的值,而不使用使用更新的临时表

来自分类Dev

计数id,插入,然后按同一表mysql中另一列中的数字范围更新

来自分类Dev

在同一表中发生插入/更新时触发更新特定列

来自分类Dev

新行插入到同一表后,错误更新触发器

来自分类常见问题

如何基于同一表中的另一列更新列

来自分类Dev

从同一表的一列更新多列值

来自分类Dev

如何基于同一表中的另一列更新列

来自分类Dev

使用同一表中其他多个列的合并结果更新一列

来自分类Dev

从同一表的一列更新多列值

来自分类Dev

如何用同一表中的另一列更新列?

来自分类Dev

PostgreSQL从同一表中的另一列更新列

来自分类Dev

MySQL更新表并在子查询中从同一表中选择

来自分类Dev

根据同一表的查询更新表

来自分类Dev

使用同一表中的数据更新表