mysql触发器怎么编写?
大家讲道理
大家讲道理 2017-04-17 14:17:36
0
1
393

mysql 的触发器的问题,我想写一个触发器,用来监控table1的price字段,或者监控table1的多个字段,当这些个字段发生改变的时候,在table_log1总记录该条记录的改变之前的值与改变之后的值,就是一个改变日志!求方法

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

reply all(1)
Peter_Zhu


-- 1建表
CREATE TABLE test_update_trigger (
id int(10) NOT NULL AUTO_INCREMENT,
age varchar(10) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE= InnoDB DEFAULT CHARSET=utf8 comment 'Test trigger';

CREATE TABLE test_logtest_log (
id int(10) NOT NULL AUTO_INCREMENT,

`update_id` int(10) not null default 0 comment '修改id',

log_textlog_text varchar(100) DEFAULT NULL,
PRIMARY KEY (id),

key(update_id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 comment 'Log';

-- 2Insert data
insert into test_update_trigger values(1,10),(2,20);

--3Set triggers

create trigger tri_test_update
after update on test_update_trigger
for each row
begin
insert into test_log(update_id,log_text) values(NEW.id,concat(cast(NEW.age as char) ,'Modify to:',cast(OLD.age as char)));
end

-- 4 modifications
update test_update_trigger set age=30 where id=2;

-- 5 query results
select * from test_log;

id update_id log_text
1 2 30 is modified to: 20

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!