create table student1_log ( id int , new_sno varchar(9), old_sno varchar(9), new_sname varchar(20), old_sname varchar(20), new_sex varchar(2), old_sex varchar(2), new_age int, old_age int, new_sdept varchar(20), old_sdept varchar(20), user varchar(50), modify_time datetime, primary key Auto_incrment (id) ); delimiter $$ CREATE TRIGGER student1_trigger AFTER UPDATE ON Student1 FOR EACH ROW BEGIN INSERT INTO Student1_log VALUES ( NEW.Sno, OLD.Sno, NEW.Sname, OLD.Sname, NEW.ssex, OLD.ssex, NEW.sage, OLD.sage, NEW.sdept, OLD.sdept, USER() ,now() ); END; $$ delimiter ; drop trigger student1_trigger; UPDATE Student1 SET sage = '20' WHERE Sno = '202115121';
时间: 2024-03-29 11:39:18 浏览: 114
通过T_sql语句向其中一次填入一条数据或一次填入多条数据的方式填充数据
这段代码包括了创建一个名为student1_log的表和一个名为student1_trigger的触发器。当对Student1表进行更新时,触发器会将旧值和新值插入到Student1_log表中。最后,代码执行了一个更新操作,将Sno为'202115121'的学生的年龄修改为20。
需要注意的是,由于在创建表时使用了自增主键,因此在插入数据时不需要手动指定id的值,数据库会自动为每一条记录生成一个唯一的id。另外,如果想要使用该触发器,需要先删除掉之前同名的触发器。
阅读全文