0

私はempdetailsデータベースにテーブルemppersonalを持っています..

トリガーを作成しました

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 $$;

私のシナリオは、列モバイルにnullがあり、モバイルフィールドに121を挿入する場合の挿入クエリ中です..

insert into emppersonal(empname,empadddress,mobile,empdob) values('lop1wde','n1agar',null,null) ;

しかし、トリガーはエラーを表示しておらず、機能していません。助けてください。

4

2 に答える 2

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
$$
于 2013-10-07T07:33:07.617 に答える
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 $$;
于 2013-10-07T07:36:43.807 に答える