公司业务需要,在对表进行操作的时候将操作人和操作记录记录到日志表里。记录下来以供参考和学习。

首先准备两张测试表:Info以及InfoLog

SQL- 将一张表的数据插入到另一张表,表结构不一致(加条件)-LMLPHP

1、表结构相同的情况下:

 insert into InfoLog  select * from Info

2、表结构不同的情况下,我们只需要指定列就可以:

 insert into InfoLog(ID,[Name]) select ID,[Name] from Info

执行结果如下:                               --指定的数据列就插入到InfoLog表中了

SQL- 将一张表的数据插入到另一张表,表结构不一致(加条件)-LMLPHP

3、覆盖需求,每修改或者删除Info表的时候,增加记录到InfoLog表,我们只需要在编码时传入两个字段和ID就可以了:

insert into InfoLog   select *,'李修改','2019-11-18 17:30:04' from Info where ID='0D206F83-B75B-412B-BBBC-6521C58B6F9F'

执行结果如下:

SQL- 将一张表的数据插入到另一张表,表结构不一致(加条件)-LMLPHP

05-11 02:00