0
表1在这方面,我有2个表,我需要在一排oldvalues和newvalues一行
创建表EMP(ID INT,emp_id的INT, 名VARCHAR(30),电子邮件VARCHAR(50 ),mobile_no int,comments varchar(50));
表2
创建历史表(ID INT,OLDVALUE VARCHAR(50),NEWVALUE VARCHAR(50));
插入第一表
insert into emp(emp_id,name,email,mobile_no,comments)
values(1, 'gobi','[email protected]',9944,'good');
TRIGGER
创建触发器至三
BEFORE UPDATE ON emp FOR EACH ROW BEGIN INSERT INTO history SET id = '1', oldvalue = OLD.name, newvalue = NEW.name; INSERT INTO history SET id = '2', oldvalue = OLD.email, newvalue = NEW.email; INSERT INTO history SET id = '3', oldvalue = OLD.mobile_no, newvalue = NEW.mobile_no; END;
UPDATE emp
SET
name = 'ashok',
email = '[email protected]',
mobile_no = '929292'
WHERE
emp_id = 1;
这上面的触发器工作正常,但我需要填写2行,但此触发器的输出是多行创建。
正如你已经在这三个领域作出改变,那显然会为'老value'和'三进新的价值“。 –
是的,我明白了,但我需要OLD.name,OLD.email,OLD.mobile_no在newvalue列下一行下的oldvalue和NEW.name,NEW.email,NEW.mobile_no下。请帮助我... – gobi
你可以简单地创建'历史' –