问题:
MySql5现有两个相同结构的表A,B(字段一模一样)
Create Table A
(
chr1 varchar(20) primary key,
chr2 varchar(20),
chr3 varchar(20),
chr4 varchar(20),
chr5 varchar(20),
chr6 varchar(20),
chr7 varchar(20)
)Create Table B
(
chr1 varchar(20) primary key,
chr2 varchar(20),
chr3 varchar(20),
chr4 varchar(20),
chr5 varchar(20),
chr6 varchar(20),
chr7 varchar(20)
)
现A与B的数据都是一样, 如果B的数中chr2,chr3,chr4,chr5,chr6,chr7中的任何一个字段有改动后,用什么最快的查到出是哪条记录?
不使用Trigger
MySql5现有两个相同结构的表A,B(字段一模一样)
Create Table A
(
chr1 varchar(20) primary key,
chr2 varchar(20),
chr3 varchar(20),
chr4 varchar(20),
chr5 varchar(20),
chr6 varchar(20),
chr7 varchar(20)
)Create Table B
(
chr1 varchar(20) primary key,
chr2 varchar(20),
chr3 varchar(20),
chr4 varchar(20),
chr5 varchar(20),
chr6 varchar(20),
chr7 varchar(20)
)
现A与B的数据都是一样, 如果B的数中chr2,chr3,chr4,chr5,chr6,chr7中的任何一个字段有改动后,用什么最快的查到出是哪条记录?
不使用Trigger
select * from B minus select * from A就可以了。(好像mysql不支持)
from a inner join b on a.chr1=b.chr1
where a.chr2!=b.chr2
or a.chr3!=b.chr3
or a.chr4!=b.chr4
or a.chr5!=b.chr5
or a.chr6!=b.chr6
or a.chr7!=b.chr7
跟
!A or !B or !C
是等效的。