创建删除触发器

loo*_*mie 3 mysql triggers

我有一个名为 的表和 一个名为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)

但这也不起作用。有什么建议么?

fth*_*lla 5

这应该是正确的语法:

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)