mysql加载数据infile

时间:2010-12-09 16:13:58

标签: mysql

我必须执行以下查询的加载

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

现在,我使用加载数据infile进行插入和替换,但我想要的是在esense中只更新该表中每行的1个字段,而不会弄乱键。可能是什么语法,请注意查询仅影响现有行。

Thanx

1 个答案:

答案 0 :(得分: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