动态更改 MySQL 表以添加 INSERT 上缺失的字段
我正在尝试将一个 MySQL 数据库中的数据合并到另一个数据库中。问题是,Source_DB
中的某些表具有 Target_DB
中的匹配表没有的字段。
有没有办法自动ALTER
Target_DB
中的表来添加发现的这些缺失字段?
或者我应该采取另一种方式,比如进行第一次比较每个表以首先添加任何缺失的字段?
I'm attempting to merge data from one MySQL database into another. The problem is, some of the tables in Source_DB
have fields that the matching table in Target_DB
does not have.
Is there a way to automatically ALTER
the table in Target_DB
to add these missing fields as they are found?
Or should I go about it another way, like doing a first pass where I compare each table to first add any missing fields?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以查询每个数据库上的
INFORMATION_SCHEMA.COLUMNS
并找出 NOT IN 查询缺少的内容,然后使用INFORMATION_SCHEMA.COLUMNS
中的数据动态生成 DDL。或者您可以使用 MySQL Compare 之类的工具来完成此操作。
You could query the
INFORMATION_SCHEMA.COLUMNS
on each DB and figure out what's missing with a NOT IN query and then using the data in theINFORMATION_SCHEMA.COLUMNS
dynamically generate the DDL.Or you could use a tool like MySQL Compare to do it.