Phpmyadmin - 将新列导入现有记录

Posted

技术标签:

【中文标题】Phpmyadmin - 将新列导入现有记录【英文标题】:Phpmyadmin - import new column to existing records 【发布时间】:2011-04-09 04:45:39 【问题描述】:

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

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

谢谢。

【问题讨论】:

CSV 没有我想的唯一 ID? 您有 CSV 文件的样本吗? 【参考方案1】:

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

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

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

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

【讨论】:

啊,谢谢,我不认为我的 phpmyadmin 可以做到。我会用php。【参考方案2】:

如果您只想使用 CSV 来执行此操作,您可以执行以下步骤。

    在文本编辑器中,为最终表格(包括您的新列)的所有列名创建一个逗号分隔列表。这对于导入新数据很有用。 使用 phpmyadmin 将新列添加到表中 以 csv 格式导出当前表格,并在 Excel 中按录取编号排序 在您的新数据 CSV 中,按录取编号排序 将新数据中的列复制到导出的 CSV 文件中并保存以便重新导入。 备份您的用户表(导出为 CSV) 截断表的内容(操作、截断) 导入更新后的 CSV

可选/推荐:当您将 CSV 导入 phpmyadmin 时,使用列名选项来指定您正在使用的列,以逗号分隔(无空格)。

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

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

【讨论】:

以上是关于Phpmyadmin - 将新列导入现有记录的主要内容,如果未能解决你的问题,请参考以下文章

在 UDF 之后将新列附加到现有 PySpark 数据帧

sql [ALTER TABLE ADD COLUMN]将新列添加到现有表#SQL

将新列添加到现有表中并使用 PL/SQL 中游标中的值更新它们

如何将包含 1 列的 phpmyadmin 的 csv 文件导入到我的 mysql 数据库中?

将新列添加到 Oracle 表后生成主键值

在迁移中向现有表添加新列