【问题标题】:Import table into existing table using phpMyAdmin使用 phpMyAdmin 将表导入现有表
【发布时间】:2013-02-18 08:46:47
【问题描述】:

当我这样做时,它会创建一个新表,但我已经选择了要导入的表。我尝试了 CSV 和 ODS 格式,仍然得到相同的结果。我现有表中的第一列是 ID 自动递增的。我尝试输入一个空白列(在我正在导入的文件中)以进行补偿,并且我也尝试过没有放入额外的列。我在这里遗漏了一些简单的东西吗?

【问题讨论】:

    标签: import phpmyadmin


    【解决方案1】:

    如果您从另一个 phpMyAdmin 数据库下载导入。 从自定义、格式特定选项下载表格时,您可以选择只有数据(没有结构)。 然后就可以顺利导入了。

    对于其他导入,您必须手动修改数据以使其没有结构属性。

    【讨论】:

      【解决方案2】:

      首先,我对此并不陌生,但只是通过胡闹试图弄清楚如何完成类似的事情并让它发挥作用,很难相信这里的答案。

      我们在这里谈论的是 phpMyAdmin,它有无穷无尽的选择。您可以选择使用选项导出原始表 - 在此过程中重命名数据库和表 - 告诉某人重命名现有数据库或表充其量是不负责任的。不需要。

      另外,似乎没有人提到我们真正想要做的是将 COLUMNS 导入到现有表中 - 表在各个方面都是相同的,除了表和数据库名称,对吧?

      这是我所做的: 我做了一个原始表的简单导出,除了名称之外,它与目标表相同。我在 SQL Management Studio 中打开了 sql 文件(从 MS 中免费,你也可以使用 TextPad 之类的东西来做同样的事情),并在开始时删除了所有关于创建数据库、表等的东西(放在它说的地方“插入” - 留下)。然后,我用现有的目标表名替换了原始表名的任何实例。然后,您将在该 sql 文件中看到所有数据列。删除要导入的最后一列之后的所有内容。不需要其他任何东西。使用目标表名的名称保存该文件。导入那个 sql 文件 - 不需要任何花哨的东西。完成。

      请注意,如果目标表中已有列,则会在第一列上出错,因为目标中的主键与它尝试在源列中使用的主键相同。老实说,我不知道如何以优雅的方式解决这个问题。我在目标表中已经有 7 列(主键 1-7),所以我只是在编辑 sql 文件时剪切了这些列,粘贴在列列表的末尾,并将键更改为从最后一个开始按顺序排列。您还必须将最后一行的前一个结尾从 ; to , 然后是新的最后一行 from , to ;希望如果您必须这样做,有更多经验的人可以提出更好的方法来做到这一点 - 比如忽略导入的密钥并在导入时自动递增。或者更好的导出方式,以便在导入时自动处理该部分。就像我之前提到的,有大量的导出选项,包括能够在导出期间修复数据库和表名。我敢肯定还有一些关于主键自动增量的东西。

      顺便说一句,当您说“选择表格”时,您的意思是在左侧的表格列表中单击它,然后单击右侧的导入按钮?我认为这意味着什么,如果这就是你的意思。这不代表任何意思。导入按钮导入一个 sql 脚本 - 就是这样。发生什么,去哪里等等完全取决于脚本本身。

      希望这对某人有所帮助。

      【讨论】:

        【解决方案3】:

        您当然可以在 Phpmyadmin 中将一个表导入另一个表。

        1. 规范化两个表,使结构匹配
        2. 将表重命名为您希望导出的表以匹配导入的表
        3. 在普通 SQL 中继续导出/导入,合并自动发生

        我自己刚刚成功完成了这些步骤,导入了从 Phpmyadmin 3.3.2 中的表中单独选择的几列,并尝试将它们导入到 Phpmyadmin 3.5.1 中的表中,起初所发生的只是旧表已复制到新数据库中,但当我将其重命名为适合新表的名称(并对结构进行规范化)后,问题就解决了。

        【讨论】:

        • 这似乎不是真的(也许是更高版本的东西?我使用的是 4.5.2 的 PMA)。从 1 个 MySQL 数据库导出到另一个(开发到 beta -> 想要将 dev 中的“表”中的记录添加到 beta 中的“表”中的记录)。我从 dev 导出“表”,创建“table.SQL”文件。我在测试版中导入“表”并得到错误:#1050 - 表“表”已经存在......无论我导出整个表还是仅导出特定行都会发生这种情况
        【解决方案4】:

        只要将工作表命名为与表名相同,即可从 Excel 文件导入现有表。

        因此,如果我尝试导入“所有者”表,我会在 Excel 中将工作表命名为“所有者”。

        【讨论】:

          【解决方案5】:

          您不能在 phpmyadmin 中将一个表导入另一个表。
          如果您尝试这样做,它将在您的数据库中创建新表。
          如需更多帮助,您可以参考以下内容: IMPORTING DATABASES AND TABLES WITH PHPMYADMIN

          【讨论】:

          • 您的参考资料说要删除旧表,然后导入数据。美好的。但这并不意味着无法导入旧表(不删除它)。
          猜你喜欢
          • 1970-01-01
          • 2015-12-15
          • 2015-12-14
          • 2011-06-30
          • 2011-08-09
          • 2011-04-09
          • 2015-02-04
          • 2021-11-10
          • 1970-01-01
          相关资源
          最近更新 更多