创建一个触发器,用于从表中删除名称(如果该表中存在)

时间:2013-03-24 05:31:20

标签: mysql sql phpmyadmin

进一步澄清我正在尝试创建一个trigger来检查表中sql中的数字。

如果找到所述号码,则会删除整行。

它使用一个单独的名称表来检查。

我认为可以使用join完成,但没有运气。

所以看起来我认为if(tb1.name = tb2.name) then DELETE row

如果格式化已关闭,我很抱歉。

EDIT;我正在使用phpmyadmin,因此可能会遗漏一些代码,但这里是我最近“尝试”的代码 它用于INSERT,时间设置为AFTER SELECT * FROM航班不存在(SELECT * FROM no fly list WHERE PassengerId.Id = Passenger.Id) 到目前为止还没有添加DELETE,但工作仍在进行中

1 个答案:

答案 0 :(得分:0)

假设flightdnf都有passenger_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(创建表语句),我们可以优化查询