如何用日期比較2個表,并檢查哪個日期丟失,然后用Mysql插入日期?
表1:appweb_ind_exeindicadores - COLUMN:dataindicador
。表2:Calendteste - COLUMN: dataindicador2
影像:

影像:

uj5u.com熱心網友回復:
你可以使用類似下面的方法來獲取一個表中的日期串列,但不是另一個,然后圍繞這個寫一個INSERT來添加它。
-- 這將給你表1中的日期,但不是表2中的日期。
SELECT DISTINCT table1.date
FROM table1.
WHERE table1.date NOT IN (SELECT DISTINCT table2. date2 FROM table2)
uj5u.com熱心網友回復:
這應該是有效的
這應該是有效的。
INSERT INTO calendteste (dataindicador2)
SELECT distinct dataindicador as dataindicador2
FROM appweb_ind_exeindicadores
WHERE dataindicador not in ( >SELECT distinct dataindicador2
FROM calendteste ) 。
uj5u.com熱心網友回復:
如果你想在calendteste中獲得唯一的日期,我建議你讓資料庫做驗證。 因此,在該列上創建一個唯一的約束條件:
alter table calendteste add constraint unq_calendteste_dataindicador2
unique(dataindicador2)。
然后,你可以插入這些行,并使用on duplicate key update來處理這些重復的行:
INSERT INTO calendteste (dataindicador2)
SELECT distinct dataindicador
FROM appweb_ind_exeindicadores
ON DUPLICATE KEY UPDATE dataindicador2 = VALUES(dataindicador2)。
實際的邏輯是無操作的 -- 沒有更新發生,但重復鍵的錯誤被忽略了。 這是確保該列沒有重復的安全方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/332002.html
標籤:
上一篇:C程式無法同時執行多條陳述句
