
mysql触发器根据条件对表中的数据进行处理
现在有这样一个Mysql数据库的表:软件名编号添加时间迅雷(xl)125125442010.06.06腾讯(tx)154842122010.06.06中软(zr)4474...
现在有这样一个Mysql数据库的表:
软件名 编号 添加时间
迅雷(xl) 12512544 2010.06.06
腾讯(tx) 15484212 2010.06.06
中软(zr) 44744747 2010.06.06
微软 458/4564 2010.06.06
能否编在Mysql中编写一个触发器:把软件名中有“()”的,删除“()”和()中的数据;没括号的不做修改。
你好,首先谢谢你的答案,不过"()"是不确定在最后的,或许在中间的。这样有办法么? 展开
软件名 编号 添加时间
迅雷(xl) 12512544 2010.06.06
腾讯(tx) 15484212 2010.06.06
中软(zr) 44744747 2010.06.06
微软 458/4564 2010.06.06
能否编在Mysql中编写一个触发器:把软件名中有“()”的,删除“()”和()中的数据;没括号的不做修改。
你好,首先谢谢你的答案,不过"()"是不确定在最后的,或许在中间的。这样有办法么? 展开
展开全部
你确定"("这些只在最后面的?
如果是的话,那这样:
create trigger tr_name
before insert on table_name
for each row
begin
declare v_i int;
set v_i = instr('(',new.软件名);
if v_i > 0 then
set new.软件名=left(软件名,instr('(',new.软件名)-1);
end if;
end
如果是的话,那这样:
create trigger tr_name
before insert on table_name
for each row
begin
declare v_i int;
set v_i = instr('(',new.软件名);
if v_i > 0 then
set new.软件名=left(软件名,instr('(',new.软件名)-1);
end if;
end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询