将MySQL数据从一个表移动到另一个表跳过重复(或覆盖)

时间:2012-05-27 21:01:13

标签: php mysql duplicates move duplicate-removal

我需要将csv上传到mysql。定期

所以我计划将csv上传到临时表。将数据从temporary_table移至main_table

现在,我需要帮助:

  1. 如何移动数据。并且(a)跳过重复,或(b)覆盖重复
  2. csv目前包含55566行,并且会逐日增加。那么,如何处理执行时间。
  3. 将csv导入mysql的最佳做法。

1 个答案:

答案 0 :(得分:1)

  1.   

    如何移动数据。

    使用INSERT ... SELECT

      

    并且(a)跳过重复,或(b)覆盖重复

    在列上定义UNIQUE键约束,以确定记录是否重复;然后:

    (a)使用INSERT IGNORE;或

    (b)使用INSERT ... ON DUPLICATE KEY UPDATEREPLACE

  2.   

    csv目前包含55566行,并且会逐日增加。那么,如何处理执行时间。

    每次上传后旋转您的CSV文件,以便不会重复上传过去的记录。

  3.   

    将csv导入mysql的最佳做法。

    使用 mysqlimport LOAD DATA INFILE