【发布时间】:2021-02-16 14:32:22
【问题描述】:
我有一个包含 10 个表的数据库,我在 pgAdmin4(symfony 后端)上使用 Postgresql db,我从 10 个不同的 csv 文件中导入了数据,在每个数据文件中我添加了一个 ID 列来设置它们的值有外键的唯一事实,让我们说 TABLE1 是 TABLE_2 中的外键,TABLE_2_ID 是 TABLE_3 中的外键,TABLE_3_ID 是 TABLE_C 中的外键等......它一直这样持续到最后一张表。
csv 文件的数据导入工作正常。我可以在前端显示我的数据。 现在我正在尝试通过平台用户界面将新数据插入任何表中,我收到了一个约束错误:
SQLSTATE[23505]:唯一违规:7 错误:重复键值违反唯一约束“theme_pkey”详细信息:键 (id)=(4) 已存在。”
假设我正在尝试在 Table_2 中创建一个新值,Doctrine orm 将启动一个错误,表明 id_key 已经存在,看起来我的数据库没有按照我拥有的当前数据进行自我更新已经在数据库中,就像 ID 没有增加一样。
我环顾四周,当您从外部源导入数据库时,这似乎很常见,但无法找到可以让我摆脱此错误消息并继续开发的东西。我查看了他们都在谈论更新顺序的所有内容,但似乎没有什么适合我的问题。
【问题讨论】:
-
SELECT max(the_seq_fld)然后ALTER SEQUENCE the_seq RESTART max_val + 1。 -
SELECT setval(pg_get_serial_sequence('table', 'id column'), COALESCE(MAX(id Column), 0)+1 , false) FROM User我遇到错误:ERROR: syntax error at or near "column"@AdrianKlaver -
@AdrianKlaver 我收到了
ERROR: MINVALUE (1) must be less than MAXVALUE (1) -
在这里为我工作。您将需要使用真实的表名和列名显示实际的工作示例。我怀疑它与不引用
id Column有关。空白是问题所在。
标签: sql postgresql doctrine-orm doctrine pgadmin-4