CREATE TRIGGER Base_Table_tr
AFTER
DELETE ON Base_Table
FOR EACH ROW
INSERT INTO Base_Table(Base_Type,Base_Name)
SELECT '006','客户服务'
FROM Base_Table
WHERE NOT EXISTS(SELECT base_name FROM Base_Table WHERE Base_Name = '客户服务' limit 0,1)
DELETE FROM Base_Table
WHERE Base_Name = '客户服务'
出错了,我希望在删除Base_Table 的base_name=客户服务字段的时候保护这条数据该怎么做?
AFTER
DELETE ON Base_Table
FOR EACH ROW
INSERT INTO Base_Table(Base_Type,Base_Name)
SELECT '006','客户服务'
FROM Base_Table
WHERE NOT EXISTS(SELECT base_name FROM Base_Table WHERE Base_Name = '客户服务' limit 0,1)
DELETE FROM Base_Table
WHERE Base_Name = '客户服务'
出错了,我希望在删除Base_Table 的base_name=客户服务字段的时候保护这条数据该怎么做?
before
DELETE ON Base_Table
FOR EACH ROW
begin
if EXISTS(SELECT base_name FROM Base_Table WHERE Base_Name = '客户服务' ) then
rollback
end if
end
/*[DEFINER = { user | CURRENT_USER }]*/
TRIGGER `zz`.`ff` after DELETE
ON `zz`.`aa2`
FOR EACH ROW BEGIN
begin
if (SELECT count(*) FROM ff WHERE Base_Name = '客户服务' )>0 then
insert into ff select * from old;
end if;
end;
END$$DELIMITER ;
insert into ff select * from old;
end if;
用if是不能通过运行的 在mysq里面if好像就是函数只 支持这种简单形式的。
SELECT IF(0.1,1,0);