2010-12-09 117 views
3

我得到執行以下查詢MySQL的LOAD DATA INFILE

UPDATE translations SET translation = (SELECT description FROM content WHERE id = 10) WHERE id = 1; 

現在,我使用LOAD DATA INFILE做插入和替換,但我想在esense什麼是負載只更新1場的每個在那張桌子裏排出一些亂七八糟的東西。這可能是什麼語法,請注意查詢隻影響現有的行。

感謝名單

回答

6
  • 使用CREATE TEMPORARY TABLE創建臨時表。
  • 然後使用LOAD DATA INFILE來填充該臨時表。
  • 然後執行您的UPDATE translations SET translation = ...以從臨時表的SELECT中設置1字段,並與真實表聯接。下面的示例語法:

    UPDATE realTable, tmpTable 
        SET realTable.price = tmpTable.price 
        WHERE realTable.key = tmpTable.key 
    
+0

好主意,我給它一展身手。 Thanx夥伴 – mbouclas 2010-12-10 07:03:29