【发布时间】:2013-08-07 04:49:46
【问题描述】:
我正在开发一个应用程序,用户将从文本文件中导入几千条记录。我对表中的 3 列有唯一约束,但是当我尝试导入重复记录时收到此错误。
Error: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '2013-06-01 15:25:41-2013-06-01 15:25:42-null' for key 'start_time'
看起来一旦由于违反约束而导致插入失败,CakePHP 将停止尝试插入数据。有什么方法可以让 CakePHP 忽略约束冲突?
感谢您的宝贵时间。
【问题讨论】:
-
在您的数据库中配置了约束,cakephp 无法忽略或其他东西。如果您希望能够插入,则需要删除数据库中的约束。
-
或者,如果可能,尽量不要将重复项插入到唯一字段中。结局不会很好
-
您是否尝试过使用 TRY CATCH 逐一插入行?接受的答案是一种不好的方法。
-
我试过了,它可以工作,但速度太慢了。一些导入的文件包含 50000+ 行。