重复的键值违反了唯一约束,CakePHP

问题描述 投票:0回答:1

我已经设置了我的postgres数据库并应用了所有约束。我在所有桌子上都运行了蛋糕烘烤并开始测试。我收到了这个错误:

错误:SQLSTATE [23505]:唯一违规:7错误:重复键值违反唯一约束“fasciculos_pkey1”DETAIL:键(id)=(7)已存在。

SQL查询:

INSERT INTO“xconv2”。“fasciculos”(“created”,“user_id”,“revista_id”,“volume”,“issue”,“svol”,“snum”,“issate”,“scheme”,“reftype”, “cliente_id”,“output_packtype”,“modified”)VALUES('now()',4,144,'4','4','4','4','4','4','4 ',1,'/ var / www','2013-03-25')

pk(curr_val = 545)确实默认不是null和唯一约束,但是当我尝试使用add.ctp添加新记录时,cake不会考虑为PK创建的序列的下一个值。似乎只是重新开始...我认为这是缓存问题,但不确定。

有帮助吗?

sql postgresql cakephp constraints primary-key
1个回答
0
投票

有几件事:

  • 我没有在SQL语句中看到键7或545;那么这些价值来自哪里呢?
  • created列填充'now()'作为字符串,而不是来自NOW()函数的值。在PHP代码中填入适当的日期时间(date('Y-m-d H:i:s')通常可以解决问题)。

无论如何,如果你在一个循环中插入记录,或者只是多个具有相同模型的记录,不要忘记在模型上调用create(),否则ID将是相同的。

© www.soinside.com 2019 - 2024. All rights reserved.