【问题标题】:MySQL: Add columns from Database1.TableA to Database2.TableAMySQL:将列从数据库 1.TableS 添加到数据库 2.TableS
【发布时间】:2013-03-26 15:56:40
【问题描述】:

在合并前 Web 开发团队的变更时需要一些帮助。他们在“Database1.TableA”中为开发站点创建了四个新列。

是否有 SQL 查询可以复制“Database1.TableA”中四个新列的结构和数据进入“Database2.TableA”?

谢谢

【问题讨论】:

  • 复制表结构还是数据?

标签: mysql database


【解决方案1】:

使用CREATE TABLE ... SELECT 语法应该很容易实现。

【讨论】:

  • 我不确定是否会产生我之前遇到的相同问题。因为我在尝试使用 phpMyAdmin 删除 Database2.Table1 并简单地复制/创建 Database1.Table1 时遇到了类似的问题。它不允许我删除 Database2.Table1,因为“外键约束失败”。
【解决方案2】:

我不知道自动复制结构的方法。数据可以更新

UPDATE new_db.table n
JOIN old_db.table o on o.primary_key_col = n.primary_key_col
SET n.col1=o.col1,n.col2=o.col2,...

【讨论】:

  • 我正在尝试使用 col1 = 'autorelist' 进行测试;但是,我收到错误消息:#1054 - “字段列表”中的未知列“n.autorelist”。这是有道理的,因为“autorelist”以前不存在于新表中。如何克服这个问题?
  • 您必须添加新列 1-st。这只会将数据从一个表更新到另一个表。
  • 列现在存在,但仍无法获取要复制的值。不过,这就足够了。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-12
  • 2017-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-14
相关资源
最近更新 更多