Mysql 创建一个触发器,该触发器从表中删除另一个表中存在的名称

Mysql 创建一个触发器,该触发器从表中删除另一个表中存在的名称,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,为了进一步澄清,我试图创建一个触发器来检查表中的sql数字 如果它找到了这个数字,那么它会删除整行 它使用一个单独的名称表进行检查 我原以为可以使用连接来完成,但没有运气 所以看起来是这样的,我假设iftb1.name=tb2.name然后删除行 如果格式设置关闭,我很抱歉 编辑;我正在使用phpmyadmin,所以一些代码可能会丢失,但下面是我最近尝试的代码 它在插入时使用,时间设置为之后 从不存在的航班中选择*从禁止飞行列表中选择*,其中PassengerId.Id=Passenger.Id

为了进一步澄清,我试图创建一个触发器来检查表中的sql数字

如果它找到了这个数字,那么它会删除整行

它使用一个单独的名称表进行检查

我原以为可以使用连接来完成,但没有运气

所以看起来是这样的,我假设iftb1.name=tb2.name然后删除行

如果格式设置关闭,我很抱歉

编辑;我正在使用phpmyadmin,所以一些代码可能会丢失,但下面是我最近尝试的代码 它在插入时使用,时间设置为之后 从不存在的航班中选择*从禁止飞行列表中选择*,其中PassengerId.Id=Passenger.Id 目前尚未添加删除,但工作仍在继续

假设flight和dnf都有唯一标识感兴趣乘客的乘客id列,则触发器可能如下所示

DELIMITER $$
CREATE TRIGGER dnf_insert AFTER INSERT 
ON dnf
FOR EACH ROW BEGIN
    DELETE FROM flights WHERE passenger_id = NEW.passenger_id;
END$$
DELIMITER ;

如果您为所有相关表发布DDL create table语句,我们可以优化查询

您可以发布一些代码吗?等等,它是否检查表名中的数字或表中的行中的数字?它是否检查数字。我有几张桌子,但一张是给乘客的,一张是给航班的,另一张是给DoNotFlyDNF的。我有乘客ID作为一个号码,我在航班上也有这个号码,因为我在DNF中也有相同的号码,但只有少数几个。我试图用这个触发器做的是,如果乘客也在DNF中,则只从航班上移除乘客。因此,它会将他从该航班中删除,但不会从乘客表或DNF表中删除。您计划在哪个表上创建触发器,在什么事件上插入、更新、删除?我在INSERT中有它,因此如果在航班表中添加DNF名称,则会将其删除。不确定这是否回答了你的问题,但我对sql还是相当陌生的。编辑:我也有时间设置为之后,不确定这是否helps@Viedt有什么帮助吗?你的问题需要更多的帮助吗?