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