比方說,比如:來自不同表合併兩列在一起
我有兩個表:OLD_DATA和NEW_DATA。
兩個OLD_DATA和NEW_DATA有一列稱爲this_is_col。
兩個OLD_DATA和NEW_DATA有日期(2010-02-06,2010-01-09,2007-06-02等)的行不同(數百個)。兩個表格不一定具有相同的日期,但它們都具有相同的格式。
這兩個表的字段是各種整數。
我的任務:
複製從領域OLD_DATA到NEW_DATA。
如果兩個表中都存在日期,則將替換new_data中的字段。
如果日期不存在new_data,那麼將添加正確的行並將該字段複製。
這是多遠我已經得到了:
創建一個臨時列:
ALTER TABLE `new_data` ADD `tempColumn` TEXT NULL;
複製了數據從OLD_DATA:
INSERT INTO `new_data` (`tempColumn`) SELECT `this_is_col` FROM `old_data`;
聯合臨時柱和new_data。 this_is_col。 (我還沒有真正想到這一步,因爲我沒有得到這麼多)。
MERGE? `tempColumn` `this_is_col`;
刪除臨時表
ALTER TABLE `new_data` DROP `tempColumn`;
在(通過將數據傳輸至臨時列)執行第二個動作我得到這個錯誤:
#1062 - Duplicate entry '0000-00-00' for key 1
而且現在我卡住了。任何幫助,將不勝感激。我使用MySQL和phpMyAdmin來測試SQL命令。
+1對於一個清楚動手的例子。 – 2011-01-12 11:10:28