使用CSV中的多个更新语句与使用中间表

时间:2011-09-27 13:54:59

标签: sql csv sql-update

我想更新大约10,000条记录。更新信息位于多个CSV文件中。更新我的表的一种方法是

  1. 创建中间表并从此表更新我的主表(更多工作)
  2. 使用CSV to SQL实用程序创建多个UPDATE语句(这很诱人)
  3. 我的问题是,创建数千个这样的更新语句是否安全?它可能有问题,可能会破坏我的数据?完成操作确实需要很长时间。其中一个在线工具是this

    UPDATE MyTable SET change_field = 'ABC' WHERE other_field = '1';
    UPDATE MyTable SET change_field = 'ABC' WHERE other_field = '2';
    UPDATE MyTable SET change_field = 'DEF' WHERE other_field = '3';
    

1 个答案:

答案 0 :(得分:1)

运行大量这样的语句应该没有任何问题,除非您使用的数据库有特定记录的某种限制。但是,一般而言,运行10,000个更新语句对于大多数数据库来说不会被视为负载。您可能需要考虑在事务中运行语句,以便在出现问题时可以回滚更改。

最好确保other_field上有索引。否则,如果表非常大,则更新语句可能会很慢(如果该字段上没有索引,则每次更新都可能需要进行全表扫描)。