我有一个名为ul_logins
的表和一个名为userbase
和userchanges
的表。我知道,每当我从ul_logins
删除某个用户的触发器时,都会自动从userbase
和userchanges
中删除相同的用户。用户的ID为id
ul_logins
和userID
userbase
和userchanges
我在mysql(phpmyadmin)中编写了这个触发器
CREATE OR REPLACE TRIGGER deleteUser AFTER DELETE ON ul_logins
FOR EACH ROW BEGIN
DELETE FROM userbase WHERE userID = :old.id;
END
但它不起作用,我总是得到一个错误。但我只是找不到问题所在
#1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以获得正确的语法 使用'TRIGGER deleteUser AFTER DELETE on ul_logins附近 为了每行开始 在第1行删除我们
我已经谷歌搜索了,还有另一个解决方案并尝试了这个
DELIMITER |
CREATE OR REPLACE TRIGGER deleteUser AFTER DELETE ON ul_logins
FOR EACH ROW BEGIN
DELETE FROM userbase WHERE userID = :old.id;
END;|
DELIMITER ;
但这并不适用于neitehr。有什么建议吗?
答案 0 :(得分:4)
这应该是正确的语法:
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 ;