【发布时间】:2013-02-18 08:46:47
【问题描述】:
当我这样做时,它会创建一个新表,但我已经选择了要导入的表。我尝试了 CSV 和 ODS 格式,仍然得到相同的结果。我现有表中的第一列是 ID 自动递增的。我尝试输入一个空白列(在我正在导入的文件中)以进行补偿,并且我也尝试过没有放入额外的列。我在这里遗漏了一些简单的东西吗?
【问题讨论】:
标签: import phpmyadmin
当我这样做时,它会创建一个新表,但我已经选择了要导入的表。我尝试了 CSV 和 ODS 格式,仍然得到相同的结果。我现有表中的第一列是 ID 自动递增的。我尝试输入一个空白列(在我正在导入的文件中)以进行补偿,并且我也尝试过没有放入额外的列。我在这里遗漏了一些简单的东西吗?
【问题讨论】:
标签: import phpmyadmin
如果您从另一个 phpMyAdmin 数据库下载导入。 从自定义、格式特定选项下载表格时,您可以选择只有数据(没有结构)。 然后就可以顺利导入了。
对于其他导入,您必须手动修改数据以使其没有结构属性。
【讨论】:
首先,我对此并不陌生,但只是通过胡闹试图弄清楚如何完成类似的事情并让它发挥作用,很难相信这里的答案。
我们在这里谈论的是 phpMyAdmin,它有无穷无尽的选择。您可以选择使用选项导出原始表 - 在此过程中重命名数据库和表 - 告诉某人重命名现有数据库或表充其量是不负责任的。不需要。
另外,似乎没有人提到我们真正想要做的是将 COLUMNS 导入到现有表中 - 表在各个方面都是相同的,除了表和数据库名称,对吧?
这是我所做的: 我做了一个原始表的简单导出,除了名称之外,它与目标表相同。我在 SQL Management Studio 中打开了 sql 文件(从 MS 中免费,你也可以使用 TextPad 之类的东西来做同样的事情),并在开始时删除了所有关于创建数据库、表等的东西(放在它说的地方“插入” - 留下)。然后,我用现有的目标表名替换了原始表名的任何实例。然后,您将在该 sql 文件中看到所有数据列。删除要导入的最后一列之后的所有内容。不需要其他任何东西。使用目标表名的名称保存该文件。导入那个 sql 文件 - 不需要任何花哨的东西。完成。
请注意,如果目标表中已有列,则会在第一列上出错,因为目标中的主键与它尝试在源列中使用的主键相同。老实说,我不知道如何以优雅的方式解决这个问题。我在目标表中已经有 7 列(主键 1-7),所以我只是在编辑 sql 文件时剪切了这些列,粘贴在列列表的末尾,并将键更改为从最后一个开始按顺序排列。您还必须将最后一行的前一个结尾从 ; to , 然后是新的最后一行 from , to ;希望如果您必须这样做,有更多经验的人可以提出更好的方法来做到这一点 - 比如忽略导入的密钥并在导入时自动递增。或者更好的导出方式,以便在导入时自动处理该部分。就像我之前提到的,有大量的导出选项,包括能够在导出期间修复数据库和表名。我敢肯定还有一些关于主键自动增量的东西。
顺便说一句,当您说“选择表格”时,您的意思是在左侧的表格列表中单击它,然后单击右侧的导入按钮?我认为这意味着什么,如果这就是你的意思。这不代表任何意思。导入按钮导入一个 sql 脚本 - 就是这样。发生什么,去哪里等等完全取决于脚本本身。
希望这对某人有所帮助。
【讨论】:
您当然可以在 Phpmyadmin 中将一个表导入另一个表。
我自己刚刚成功完成了这些步骤,导入了从 Phpmyadmin 3.3.2 中的表中单独选择的几列,并尝试将它们导入到 Phpmyadmin 3.5.1 中的表中,起初所发生的只是旧表已复制到新数据库中,但当我将其重命名为适合新表的名称(并对结构进行规范化)后,问题就解决了。
【讨论】:
只要将工作表命名为与表名相同,即可从 Excel 文件导入现有表。
因此,如果我尝试导入“所有者”表,我会在 Excel 中将工作表命名为“所有者”。
【讨论】:
您不能在 phpmyadmin 中将一个表导入另一个表。
如果您尝试这样做,它将在您的数据库中创建新表。
如需更多帮助,您可以参考以下内容:
IMPORTING DATABASES AND TABLES WITH PHPMYADMIN
【讨论】: