- 没有信息的旧数据库
- 重构的数据库,删除了许多列
我想转储旧数据库,并重新填充新数据库。
...但仅当新数据库具有给定列时
例子:
old_DB 用户表有 5 列:登录、电子邮件、城市、州、电话
new_DB 用户表有列:登录、电子邮件、电话
是否有我可以运行的大规模操作仅填充登录、电子邮件和电话?
假设两个数据库在同一个 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
因此,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;
用反引号运行它会给出所需的插入。