我有3個表,'舊','新'和'結果'表(來自電話簿數據庫),它們具有相同的結構和幾乎相同的條目。MySQL選擇2個表之間的所有區別?
old:
ID | name | number | email | ...
----+--------------------+--------+-------+-----
1 | foo | 123 | ...
2 | bar | 456 |
3 | entrry with typo ||
4 | John Doe | 123345 |
new:
ID | name | number | email | ...
----+--------------------+--------+-------+-----
1 | foo | 123 | ...
2 | bar | 456 |
3 | entry without typo ||
4 | John Doe | 12345 |
5 | newly added entry | 09876 |
從這個「新」的表,我想選擇是從「老」表中的不同都行,這樣的結果將是:
result:
ID | name | number | email | ...
----+--------------------+--------+-------+-----
3 | entry without typo || ...
4 | John Doe | 12345 |
5 | newly added entry | 09876 |
包括已更改數據的所有條目加上所有沒有出現在「舊」表中的條目...
不僅使它更復雜,這些表中大約有10列(包括ID,名稱,號碼,電子郵件和幾個標誌以及其他信息)。
是否有任何最高性能的解決方案這樣做,或者我將不得不比較每個列與新的查詢..?
一個高質量的工作將需要你手工完成 - 'name'/etc不是一個可靠的方法來確定什麼是或不存在,或已經改變... –