gpt4 book ai didi

laravel - SQLSTATE[23505] : Unique violation In-spite of ID set to auto_increment

转载 作者:行者123 更新时间:2023-11-29 13:40:08 27 4
gpt4 key购买 nike

我从 PHP artisan 命令创建了迁移,它在我的 Postgres 数据库中创建了一个表,id 设置为 auto_increment

我在 laravel 中制作了一些播种器,并通过 php artisan db:seed 命令将三行数据馈送到先前创建的表中。

当我通过某种形式在同一个表中插入数据时,出现错误。

error:SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint "roles_pkey" DETAIL: Key (id)=(1) already exists. (SQL: insert into "roles" ("name", "guard_name", "updated_at", "created_at") values (staff, web, 2019-07-03 07:38:37, 2019-07-03 07:38:37) returning "id")

最佳答案

序列是在每次请求时返回一个大一值的对象,无论它是在哪个事务上调用的。默认情况下,序列从 1 开始,可以应用于一个表或多个表,因此它不知道您的表中已经有多少个值。如果你想让你的插件工作,你需要手动设置它。

SELECT setval('roles_id_seq', (SELECT coalesce((SELECT max(id) from roles),1)))

此查询假设所使用的序列是在 "roles" 表的 "id" 列上创建的,否则可以通过检查找到序列名称该列 DDL 例如NOT NULL DEFAULT setval('the_sequence_name') 并使用它来设置值。

关于laravel - SQLSTATE[23505] : Unique violation In-spite of ID set to auto_increment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56865342/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com