【问题标题】:How to copy columns from Database A to Database B in phpMyAdmin如何在 phpMyAdmin 中将列从数据库 A 复制到数据库 B
【发布时间】:2013-09-03 09:31:42
【问题描述】:

我想使用 phpMyAdmin 3.5.3 中的 SQL 脚本将数据库“SourceDB”中的表“SourceTable”中的一些列复制到数据库“DestinationDB”中的表“DestinationTable”中。我的 SQL 脚本如下:

INSERT INTO `DestinationDB..DestinationTable` (
    `ID`, 
    `Name`
    )
SELECT 
    `id`, 
    `name`
FROM `SourceTable..SourceTable`
  • 如果我在本地主机上运行它(未选择数据库),我会收到错误消息:
    “#1046 - 未选择数据库”

  • 如果我在 localhost >> DestinationDB 运行它,我会得到:
    “#1146 - 表 'DestinationDB.DestinationDB..DestinationTable' 不存在”
    或者如果我删除 SQL 脚本中的“DestinationDB..”:
    “#1146 - 表 'DestinationDB.SourceTable..SourceTable' 不存在”

所以 .. 之前的部分不能被识别为数据库的名称。我的错误在哪里,还是有其他方法可以实现数据传输?

提前感谢您的帮助。
塔利

【问题讨论】:

  • 单人。 (点)就够了。不需要两个点。删除一个。 (点)并尝试场景 2。

标签: sql database phpmyadmin


【解决方案1】:

试试这个

INSERT INTO DestinationDB.DestinationTable ( ID, Name)
(SELECT id, name FROM SourceTable.SourceTable)

注意:

  1. 此处不能使用两个点 (..)。单点就足以映射数据库。 使用DestinationDB.DestinationTable

【讨论】:

  • 感谢 Joker 和 Swapnil 的回答,他们提供了帮助,但并未取得圆满成功。我删除了两个点(..),只使用了一个(.),但结果是一样的:PhpMyAdmin 3.5.3。始终在给定数据库ActiveDB.DestinationDB.DestinationTable 前面添加活动数据库。有没有办法避免这种情况?
【解决方案2】:

你也可以试试这个

从 SourceDB.SourceTable 中选择(id,name) 到 DestinationDB.DestinationTable(ID,Name)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 2018-03-09
    • 2021-10-08
    • 1970-01-01
    相关资源
    最近更新 更多