2

我当前的 MySQL 表employee_data有 13k 行和 17 列。表中的数据来自 CSV 文件Employees.csv。导入我的 csv 数据后,我添加了一个新列“密码”(因此它不在 csv 文件中)密码是通过门户网站编辑和访问的。我现在有一个更新的 csv 文件,我想用该数据更新我的主表,但我不想丢失我的密码信息。

我是否应该将新的 CSV 文件导入数据库中的临时表中,以及如何比较它们?我不知道从哪里开始,我愿意接受建议。

我现在意识到我应该将密码信息保存在单独的表格中。嗬!

我想我可以创建一个 php 文件,根据employee_id 字段比较每一行,但如果有 13k 行,恐怕它可能会超时。

4

2 回答 2

9

我会这样做:

  • 使用语法创建临时表CREATE TABLE new_tbl LIKE orig_tbl;
  • 用于LOAD DATA INFILE将数据从 CSV 导入表中
  • 用于使用UPDATE主键/唯一列更新主表(也许employee_id

我处理过包含 1.2 亿行的表格,并将包含 3000 万行的 CSV 文件导入其中 - 这是我一直使用的方法 - 比 PHP 中的任何方法都高效(这也是我选择的服务器端语言)

于 2012-06-13T16:39:48.077 回答
1

尝试除基于 php 的工具以外的其他工具phpMyAdmin MySQL 工作台是一个很棒的工具,根据您的连接,使用您的数据查询数据库需要一段时间。
有 php 超时限制的解决方法, set_time_limit();

于 2012-06-13T16:36:54.037 回答