0
  1. 没有信息的旧数据库
  2. 重构的数据库,删除了许多列

我想转储旧数据库,并重新填充新数据库。

...但仅当新数据库具有给定列时

例子:

  • old_DB 用户表有 5 列:登录、电子邮件、城市、州、电话

  • new_DB 用户表有列:登录、电子邮件、电话

是否有我可以运行的大规模操作仅填充登录、电子邮件和电话?

4

2 回答 2

3

假设两个数据库在同一个 mysql 实例中运行,你可以这样做

INSERT INTO newdb.newtable (field1, field2, ....)
    SELECT FROM olddb.oldtable (field1, field2, ...)

作为单个查询。无需使用转储。相关文档:http: //dev.mysql.com/doc/refman/5.1/en/insert-select.html

于 2013-03-20T05:43:21.553 回答
0

因此,Marc B 声明的修改工作版本在这里:

INSERT INTO asdf_mock.citations_sites (`citation_id`, `site_id`, `created_at`, `updated_at`) 
   SELECT `citation_id`, `site_id`, `created_at`, `updated_at` 
   FROM asdf_production.citations_sites;

用反引号运行它会给出所需的插入。

于 2013-03-21T19:18:28.917 回答