1
我目前正在轉換數據的過程中,在一張表中,這就是爲什麼我創建了一個新表,與舊的表相同,但爲空。比較兩個相同的表MySQL
我已經運行了我的數據轉換器,並且在行數上有所不同。
如何選擇與兩個表不同的所有行,而忽略主鍵標識符(每個條目都不相同)。
我目前正在轉換數據的過程中,在一張表中,這就是爲什麼我創建了一個新表,與舊的表相同,但爲空。比較兩個相同的表MySQL
我已經運行了我的數據轉換器,並且在行數上有所不同。
如何選擇與兩個表不同的所有行,而忽略主鍵標識符(每個條目都不相同)。
select * from (
SELECT 'Table1',t1.* FROM table1 t1 WHERE
(t1.id)
NOT IN (SELECT t2.id FROM table2 t2)
UNION ALL
SELECT 'Table2',t2.* FROM table2 t2 WHERE
(t2.id)
NOT IN (SELECT t1.id FROM table1 t1))temp order by id;
您可以添加在列檢查更多信息更多列。 試試看看是否有幫助。
這會給你存在於t1而不在t2中的所有行。您列出除ID以外的所有列。 (當然,你可以切換這個來獲得t2中所有行而不是t1中的所有行:-)
select col1, col2, col3, ... from t1
except
select col1, col2, col3, ... from t2;
我通常會添加一個臨時附加列,其中包含源表的主鍵值。 – Gimby