有桌子:
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'的公司。
我不需要查询代码,可能是描述如何操作。
答案 0 :(得分:0)
delete from `Companies` where `company_size` NOT IN (select `symbol` from `groups`);
您可以使用触发器但是如果您在共享服务器上,那么您可以将相同的查询放在某个cron中。