我有一个名为 的表和 一个名为andul_logins的表。我知道,每当我从触发器中删除某个用户时,我都会自动从和中删除同一用户。用户的 id 为at和at和userbaseuserchangesul_loginsuserbaseuserchangesidul_loginsuserIDuserbaseuserchanges
我已经在 mysql (phpmyadmin) 中编写了这个触发器
CREATE OR REPLACE TRIGGER deleteUser AFTER DELETE ON ul_logins
FOR EACH ROW BEGIN
DELETE FROM userbase WHERE userID = :old.id;
END
Run Code Online (Sandbox Code Playgroud)
但它不起作用,我总是收到错误。但我就是找不到问题所在
#1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以了解在第 1 行的“在 ul_logins 上删除后触发 deleteUser FOR EACH ROW BEGIN DELETE FROM us”附近使用的正确语法
我已经用谷歌搜索了,还有另一个解决方案并尝试了这个
DELIMITER |
CREATE OR REPLACE TRIGGER deleteUser AFTER DELETE ON ul_logins
FOR EACH ROW BEGIN
DELETE FROM userbase WHERE userID = :old.id;
END;|
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)
但这也不起作用。有什么建议么?
这应该是正确的语法:
DROP TRIGGER IF EXISTS deleteUser;
DELIMITER |
CREATE TRIGGER deleteUser AFTER DELETE ON ul_logins
FOR EACH ROW BEGIN
DELETE FROM userbase WHERE userID = old.id;
END;
|
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)