Phpmyadmin - 将新列导入现有记录

时间:2010-09-07 12:52:14

标签: mysql import phpmyadmin

我已经在phpmyadmin中有一个包含用户记录的表。每个用户都有一个唯一的入场号码。我现在想在此表中添加一个新列,并想知道如何仅使用许可号和新数据导入此新列的数据。

这可能吗?我有一个CSV但无法找到导入数据的最佳方法,而不会覆盖任何现有记录。

感谢。

2 个答案:

答案 0 :(得分:2)

据我所见,这是不可能的。 phpMyAdmin的导入功能仅适用于整行。

您可以编写一个小PHP脚本,使用fgetcsv()打开CSV文件,遍历每一行并为每条记录创建一个UPDATE语句:

UPDATE tablename SET new_column = "new_value" WHERE admission_number = "number"

然后您可以输出并复制+粘贴命令,或直接在脚本中执行它们。

答案 1 :(得分:0)

如果您只想使用CSV,请执行以下步骤。

  1. 在文本编辑器中,为逗号分隔列表,列出最终表的所有列名(包括新列)。这对于导入新数据非常有用。
  2. 使用phpmyadmin
  3. 将新列添加到表中
  4. 以csv格式导出当前表并按Excel中的许可编号排序
  5. 在新数据CSV中,按入场编号
  6. 排序
  7. 将列从新数据复制到导出的CSV并保存以便重新导入。
  8. 备份您的用户表(导出为CSV)
  9. 截断表格的内容(操作,截断)
  10. 导入更新后的CSV
  11. 可选/推荐:将CSV导入phpmyadmin时,使用列名选项指定您使用的列,以逗号分隔(无空格)。

    假设: 1.您正在使用Excel / OpenOffice等电子表格打开您的csv文件。

    有什么问题吗? 再次截断表并导入sql备份文件。