gpt4 book ai didi

禁用用户帐户的 MySQL 触发器

转载 作者:行者123 更新时间:2023-11-29 01:01:54 25 4
gpt4 key购买 nike

我正在尝试创建一个 MySQL 触发器来禁用某人的帐户,如果他们已经登录该站点 3 次。我尝试使用以下代码创建此触发器,但无论 times_logged_in 是什么,它都不会将 is_active 设置为 0。任何帮助将不胜感激。

CREATE TRIGGER updateTrigger AFTER UPDATE ON users
FOR EACH ROW
BEGIN
UPDATE users SET is_active=0 WHERE NEW.is_code=1
AND NEW.times_logged_in>=3
AND NEW.user_id=user_id;
END;

最佳答案

您遇到了 MySQL 的限制。您的表 users 调用触发器(AFTER UPDATE ON users),因此触发的代码无法修改它。查看MySQL-Manual :

Within a stored function or trigger, it is not permitted to modify a table that is already being used (for reading or writing) by the statement that invoked the function or trigger.

关于禁用用户帐户的 MySQL 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2588336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com