gpt4 book ai didi

mysql - 删除最后匹配 SQL 的记录

转载 作者:行者123 更新时间:2023-11-29 05:55:41 25 4
gpt4 key购买 nike

我有 2 个表链接在一起,如下所示:

Owner table | owner_id = Primary Key
Car table | car_id = Primary Key | owner_id = Foreign Key

基本上,每次添加新的汽车记录时,都会将其分配给车主。一个车主可以拥有多辆车,但每辆车只能属于一个车主。

是否可以设置一个约束或其他东西来从最后一个“匹配”记录的所有者表中删除所有者。

例如,owner_1 拥有 5 辆汽车。在他们拥有的最后一辆车被删除后,它也会从数据库中删除车主记录。

最佳答案

我认为删除后触发器可以完成这项工作。每次删除一条汽车记录时,都要查询同一张汽车表,看看是否还有另一辆与你删除的车主相同的汽车。像这样:

编辑:修复选择查询 :D

DELIMITER $$
CREATE TRIGGER delete_owners_delete AFTER DELETE ON Car FOR EACH ROW
BEGIN
DECLARE iCounter integer;
SELECT COUNT(owner_id) INTO @iCounter FROM car c WHERE c.owner_id = old.owner_id;
IF (@iCounter < 1) THEN
DELETE FROM Owner WHERE owner_id = old.owner_id;
END IF;
END;
$$

希望对您有所帮助。干杯!

关于mysql - 删除最后匹配 SQL 的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49661580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com