mysql - SQL 迁移。保留旧 ID 无效

标签 mysql sql postgresql knex.js

我正在将旧数据库迁移到新数据库 (mysql => postgres)。

为了简单起见,我保留了旧的 ID,所以 id 在 knex 中做了类似的事情

knex("my_table").withSchema("mySchema").insert({ 
         id : old[i].id,
         info : old[i].info 
     })

似乎这样做会取消 ID 上的 postgres auto_inc,因此当我稍后尝试插入时:

knex("my_table").withSchema("mySchema").insert({ 
             info : "information"
         })

它会自动将它归于ID : 1。即使它已经因为迁移而存在。

我的问题是:我还能保留旧 ID 吗?

最佳答案

请尝试更改分配给 my_table.id 列的顺序以进行自动递增。

改变它,使其从 max(old_id)+1 开始

http://www.postgresqltutorial.com/postgresql-serial/

https://www.postgresql.org/docs/9.1/static/sql-altersequence.html

关于mysql - SQL 迁移。保留旧 ID 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52678186/

相关文章:

php - 试图限制在 mysql 查询/数组中返回的数据

mysql - 用 MySQL 修剪逗号?

sql - 使用带有重置 SQL Server 2012 的运行总计的销售目标

postgresql - postgis ST_ClusterDBSCAN 返回全零

php - 使用 CodeIgniter(3) 删除服务器(非本地)上的文件

javascript - 将 Jvectormap jQuery 文件导入 MySql 的最佳实践

sql - SQL Server 2008 中的 While 循环迭代日期范围,然后插入

sql - Bison + Flex SQL 解析器

python - 使用 psycopg2 访问 Cloud SQL 实例的配置

python - 如何在支持 mx 的 virtualenv 中安装 psycopg2?