Mysql触发器选择X

Mysql触发器选择X,mysql,triggers,count,Mysql,Triggers,Count,嗨,我有一个表,因为这里的表包含一个删除列表,那里的驱动程序。每次删除都可以有多个驱动程序,但必须至少有一个驱动程序。 我试图确定每个拆卸作业的驱动程序数是否小于1。我将在触发器中使用此信息,以停止从驱动程序表中删除驱动程序(如果他是作业中唯一的一个) 到目前为止,我有这个想法,但我似乎把所有不包括删除的驱动程序的作业中的所有驱动程序都计算在内 DECLARE x INT; SELECT COUNT(a.driver_name) INTO x FROM drives a WHERE a.star

嗨,我有一个表,因为这里的表包含一个删除列表,那里的驱动程序。每次删除都可以有多个驱动程序,但必须至少有一个驱动程序。
我试图确定每个拆卸作业的驱动程序数是否小于1。我将在触发器中使用此信息,以停止从驱动程序表中删除驱动程序(如果他是作业中唯一的一个)

到目前为止,我有这个想法,但我似乎把所有不包括删除的驱动程序的作业中的所有驱动程序都计算在内

DECLARE x INT;
SELECT COUNT(a.driver_name)
INTO x
FROM drives a
WHERE a.start_time =
        (SELECT b.start_time 
            FROM drives b
            WHERE a.date = b.date
            AND a.driver_name != OLD.driver_name
            );

表中没有“删除列表”,也没有被表引用的列表。如果有,那么添加一个触发器就很简单了——但是你建议如何通过调用一个不存在的过程来强制操作失败呢。驱动器表保存删除操作。每个都有日期、开始时间和驱动程序。@Ian-是1吗。我认为正确的答案是>1