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=客户服务字段的时候保护这条数据该怎么做?
解决方案 »
- 我现在有100多个数据库,但是都是在一个服务器上。都是mysql的而且这些数据库的结构都是一样的。我现在想查询整个100多个数据库中的某个表的所有记录怎么写代码
- 在MySql中如何将一张表的内容更新到另一张表中?
- postgresql两数相除保留小数两位?
- 5年前一个程序mysql数据库总记录数达100万了,速度慢
- innodb事务处理问题
- mysq问题 l急用
- 双服务器配置问题~~
- 关于MYSQL的事务处理,高手过来。
- 给出100分,mysql在线帮忙解决,现在本人征用mysql,不断问题,希望不断跟进解决,到时分会给足你
- 新建一个新数据库时会形成一个新的文件,这个文件在哪?
- 请教一个MySql 正则表达式查询的问题
- 数据库序号问题
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);