3

我有一个名为的表和一个名为andul_logins的表。我知道,想要,每当我从触发器中删除某个用户时,自动从and中删除同一个用户。用户的 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

但这不起作用,我一直收到错误消息。但我就是找不到问题所在

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在第 1 行的“在 ul_logins 上删除后触发删除用户后每行开始从我们删除”附近使用正确的语法

我已经用谷歌搜索了,还有另一个解决方案并尝试了这个

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。有什么建议么?

4

1 回答 1

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 ;
于 2013-05-03T21:41:13.863 回答