所以,从目前的情况来看,我有两张表和这个问题有关
列表,包含列id、名称、已修改和内容,包含列id、列表id、值
当我更改内容中的值(使用insert、update或delete)时,我希望更新相应列表的修改值。
我已将修改的列设置为 ON UPDATE CURRENT_TIMESTAMP()
但是,这不会做任何事情,因为列表中的行没有更新。
当列表的内容被修改时,有没有可能让sql在更新时自动调用它的?
最好的解决方案是我可以在phpmyadmin中更改一些设置,这样就可以自动完成,如果不可能,我很想知道最有效的方法是使用pdo调用这个更新。
在任何人想到这一点之前,我知道我可以先调用select on来获取列表的名称,将其存储在变量中,修改列表的名称以便调用其on update,然后再次修改以重新插入原始名称。对我来说,这似乎是一个可怕的方法。
2条答案
按热度按时间fykwrbwg1#
似乎是一个很好的使用后更新触发器。检查以下链接:
https://www.mysqltutorial.org/mysql-triggers/mysql-after-update-trigger/
mysql更新后,更新同一表的datetime列
qyswt5oh2#
你试过用date()函数代替当前的时间戳吗?