当用户删除同一 mySQL 服务器上 3 个不同数据库的第 3 个表上的表行时,如何使用 AFTER DELETE TRIGGER 自动删除 2 个表行?

问题描述 投票:0回答:0

这一切我都是新手,如有错误请作为新手忽略。

删除后我需要帮助。

我的情况:

  • 数据库 1 - 主要用户
  • 数据库 2 - 用户
  • 数据库 3 - 用户

使用 phpAdmin 访问同一 mySQL 服务器上的所有数据库。

  1. 当用户删除数据库 1 上的行时,表名 - 主要用户,我希望在数据库 2 和 3 的用户表中自动删除同一用户的相同表行。我使用电子邮件来识别所有用户3 个数据库表。我首先使用链接中引用的示例尝试使用 2 个数据库表,但出现错误。这是我的触发器和错误。

DELIMITER $$

CREATE TRIGGER user_after_delete AFTER DELETE on  database1.Main_Users

FOR EACH ROW
BEGIN
DELETE FROM Database2.users 
    WHERE Database2.users.email = old.Database1.Main_Users.email;

END $$

DELIMITER ;

我收到这个错误:

错误

SQL查询:复制

CREATE TRIGGER user_after_delete AFTER DELETE on  database1.Main_Users

FOR EACH ROW
BEGIN
DELETE FROM Database2.users 
    WHERE Database2.users.email = old.Database1.Main_Users.email;

END

MySQL 说:文档

#1064 - 你的 SQL 语法有错误;查看与您的 MySQL 服务器版本对应的手册,了解在 '.email; 附近使用的正确语法;

END' 在第 6 行


有人可以帮助我,告诉我我哪里出错了,以及我如何在同一个服务器上包含所有 3 个数据库在同一个 AFTER DELETE TRIGGER 中。

感谢您花时间查看我的查询

我尝试按照下面给出的示例进行操作,但没有成功:

  1. mysql trigger delete on same id and
  2. MySQL 触发器:删除后从表中删除.
mysql triggers phpmyadmin delete-row
© www.soinside.com 2019 - 2024. All rights reserved.