gpt4 book ai didi

MySQL删除记录所属组后删除记录

转载 作者:行者123 更新时间:2023-11-30 00:11:47 25 4
gpt4 key购买 nike

有表格:

drop table if exists groups;
create table groups
(
symbol varchar(10);
group_name varchar(10);
deafult_discount int(10)
PRIMARY KEY (symbol)
);

insert into groups(symbol,group_name,deafult_discount)
values
('medium','medium_company',5),
('small','small_company',0),
('big','big_company',10);

use exercise;

create table Companies
(
ID int,
Name varchar(100),
City varchar(100),
c_size varchar(100),
PRIMARY KEY (ID)
);

insert into Companies(ID, Name, city, company_size)
values
(222, 'Karma LLC','CITY2', 'big'),
(223, 'Manny Ind.','CITY1', 'medium'),
(224, 'Random PLC','CITY1', 'medium'),
(225, 'Hijack LLC','CITY1', 'medium'),
(226, 'Travels LLC','CITY1', 'small'),
(227, 'Mirana Ind.','CITY2', 'small'),
(228, 'Polla Ind.','CITY3', 'small'),
(229, 'Americano LLC','CITY3', 'small'),
(230, 'Macaroni LLC','CITY4', 'small');

我想知道删除其中一个群组后自动删除公司的方法。例如,我从表组中删除组“medium”,并且我想同时删除所有 company_size='medium' 的公司。
我不需要查询代码,它可能是如何操作的描述。

最佳答案

正如我在评论中所写的 - 外键和触发器以及您的 friend ,您也可以运行此查询来删除所有孤立的公司以保持数据完整性

delete from `Companies` where `company_size` NOT IN (select `symbol` from `groups`);

您可以使用触发器,但如果您在共享服务器上,则可以将相同的查询放入某个 cron 中。

关于MySQL删除记录所属组后删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23985088/

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