我在empdetails数据库中有一个人员表。
我创建了一个触发器
use empdetails;
delimiter $$
create trigger `newtirger` after insert on `emppersonal`
for each row begin
if new.mobile = null
then
update emppersonal set mobile = '121';
end if;
end $$;
我的方案是在插入查询期间,如果列移动设备为空,则在移动字段中插入121 ..
insert into emppersonal(empname,empadddress,mobile,empdob) values('lop1wde','n1agar',null,null) ;
但是触发器没有向我显示任何错误,而且它也无法正常工作请帮忙。
答案 0 :(得分:0)
更新空值的更好方法是使用列的默认值。这样,如果null
,它将自动设置。
ALTER TABLE emppersonal
CHANGE mobile mobile VARCHAR(50) NOT NULL DEFAULT '121';
如果无法做到,请尝试
delimiter $$
create trigger `newtrigger` before insert on emppersonal
for each row begin
set NEW.mobile = if(OLD.mobile IS NULL, '121', OLD.mobile);
end
$$
答案 1 :(得分:0)
试
use empdetails;
delimiter $$
create trigger `newtirger` after insert on `emppersonal`
for each row begin
if new.mobile IS NULL
then
--modify this line update emppersonal set mobile = '121';
update emppersonal set mobile = '121';
end if;
end $$;