mysql使用触发器,A表插入数据同时部分信息更新给B表。(在更新B表前判断B表currentstatus已有的值,如果list中的currentstatus有值则只更新result的值,如果list中currentstatus无值则更新currentstatus和result的值)
我这样写的触发器无法执行:
CREATE TRIGGER update_list AFTER INSERT ON inventory FOR EACH ROW
begin
if (list.currentstatus='PASS' or list.currentstatus='NG') THEN
update list set result=new.status,date= now() where new.name=list.name;
else
update lsit set currentstatus=new.status,result=new.status,date= now() where new.name=list.name;
end if;
end;
//A表(inventory)结构
CREATE TABLE inventory(
id INT PRIMARY KEY AUTO_INCREMENT COMMENT 'id',
name VARCHAR(200) COMMENT '品名',
type VARCHAR(200) COMMENT '种类',
status VARCHAR(200) COMMENT '状态pass/ng',
date VARCHAR(200) COMMENT '时间'
) COMMENT='产品信息'
//B表(list)结构
CREATE TABLE list(
id INT PRIMARY KEY AUTO_INCREMENT COMMENT 'id',
name VARCHAR(200) COMMENT '品名',
currentstatus VARCHAR(200) COMMENT '状态pass/ng',
date VARCHAR(200) COMMENT '时间',
operator VARCHAR(200) COMMENT '操作工',
result VARCHAR(200) COMMENT '结果'
) COMMENT='产品信息'