在表中增加时间列,用于记录创建时间和修改时间
MySQL
1 2 3 4 5 6 7 8
| DROP TABLE IF EXISTS 表名; CREATE TABLE 表名 ( id int(11) NOT NULL, name varchar(255) DEFAULT NULL, createtime datetime DEFAULT CURRENT_TIMESTAMP, updatetime datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=gbk;
|
SQL Server
只能通过触发器实现,将A表的数据变化,通过触发器记录到B表中。
1 2 3 4 5 6 7 8 9 10
| DECLARE @update_hostname VARCHAR (10), @update_progname VARCHAR (16), @update_time VARCHAR (22), @update_type VARCHAR (3) SELECT @update_hostname = hostname, @update_progname = program_name FROM master.dbo.sysprocesses WHERE spid = @@spid SELECT @update_time = CONVERT(CHAR(10), getdate(), 111) + ' ' + CONVERT(CHAR(12), getdate(), 114) SELECT @update_type = 'Delete' INSERT INTO 表B SELECT *, @update_hostname, @update_progname, @update_time, @update_type FROM deleted
|