【问题标题】:Migrating MySQL database contents to PostgreSQL将 MySQL 数据库内容迁移到 PostgreSQL
【发布时间】:2016-06-22 07:18:42
【问题描述】:

我重构了一个项目并想尝试使用 PostgreSQL 而不是 MySQL。我现在想迁移一些表的表内容。

问题是,当我使用这样的选择查询时(不要关心名称,只是一个示例)

SELECT id AS id_x, name AS name_x, name2 AS name2_x

我想导出表数据并将其导入 MySQL。问题是,INSERT INTO 的语法在 MySQL 和 PostgreSQL 中是不同的。我不想导出整个表,因为我还更改了结构的某些部分,试图使其更高效等。所以我只想获取表数据,但我需要那些 AS x 的东西,因为列名已更改

我已经找到了几个关于这个主题的链接。

我可以使用mysqldump 转储表并设置--compatible=name 参数。这里的问题是,我不能添加SELECT 语句,对吗?我只能添加where 支票。

然后,我可以使用mysql命令导出我想要的查询,但是mysql没有任何compatible参数。我将如何实现这一目标?

【问题讨论】:

    标签: mysql database postgresql migration database-migration


    【解决方案1】:

    你可以考虑通过发出来创建一个临时表

    SELECT id AS id_x, name AS name_x, name2 AS name2_x FROM oldtable INTO temptable
    

    然后作为第二步,使用带有--compatible= 参数的mysqldump 导出临时表。

    https://dev.mysql.com/doc/refman/5.7/en/select-into.html

    【讨论】:

    • 我是个白痴,没想到这个哈哈。谢谢!
    猜你喜欢
    • 2011-07-16
    • 2017-07-22
    • 2013-09-14
    • 2014-07-05
    • 1970-01-01
    • 2020-05-09
    • 2016-09-04
    • 2023-03-09
    • 1970-01-01
    相关资源
    最近更新 更多