Php 为什么博士后不';t自动增加索引?

Php 为什么博士后不';t自动增加索引?,php,postgresql,auto-increment,Php,Postgresql,Auto Increment,我已经创建了一个具有id(串行)字段的表a。 我已经创建了一个种子sql文件,在其中我显式地指定了id值,因为我还必须填充具有引用此id字段的外键的相关表 所有sql脚本都运行良好。 但是,当在表a中执行新的插入时(没有指定id serial,因为我希望它自动递增),我会返回一个重复的键错误。在第一个种子脚本之后看起来是这样的。Postgres不会自动增加索引 事实上,如果我在播种阶段插入了3条记录,我将从id为NULL的后续插入中返回三倍的错误,然后它开始按预期插入所有内容。也就是说,即使它报

我已经创建了一个具有id(串行)字段的表a。 我已经创建了一个种子sql文件,在其中我显式地指定了id值,因为我还必须填充具有引用此id字段的外键的相关表

所有sql脚本都运行良好。 但是,当在表a中执行新的插入时(没有指定id serial,因为我希望它自动递增),我会返回一个重复的键错误。在第一个种子脚本之后看起来是这样的。Postgres不会自动增加索引

事实上,如果我在播种阶段插入了3条记录,我将从id为NULL的后续插入中返回三倍的错误,然后它开始按预期插入所有内容。也就是说,即使它报告重复键错误,它也会增加每个发送的查询的自动增量值

你通常是如何处理这个问题的?
谢谢

您正面临这个问题,因为“您的表序列id的当前值不同”。您可以在数据库中更改它


如果您使用的是pgadmin,请转到您的架构>序列>您的表名\u id\u seq>更改当前值。

在种子设定过程刚结束时,是否可以通过查询进行设置?在Mysql中,可以设置为自动递增。在研究生中没有对等的吗?在运行我的种子脚本之后,如果DB已经为应用程序做好准备就好了,而不是我需要记住在我填充的每个表上增加每个自动增量…使用max()函数检查表的max id,并使用max id设置tablename_id_seq>当前值加1,那么您将不会面临此重复id问题