gpt4 book ai didi

php - CakePHP saveAll() 带唯一约束

转载 作者:行者123 更新时间:2023-11-30 01:25:06 27 4
gpt4 key购买 nike

我正在开发一个应用程序,用户将从文本文件导入几千条记录。我对表中的 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 忽略约束违规?

感谢您的宝贵时间。

最佳答案

这实际上取决于您导入数据的方式以及您使用的 RDBMS。

如果您在文本文件上逐行循环并在每行后插入数据,则可以捕获异常并继续处理文本文件的下一行。只需记住将失败的行推送到某种错误日志中,以便您能够找到哪些插入失败。我看到的更大的问题是,抛出的异常可能会破坏您当前的事务,并且对于大量数据插入,您肯定希望将所有内容包装在单个事务中以获得最佳性能。

如果您使用 MySQL 和 CSV 文件,您可以探索使用 LOAD DATA INFILE 命令。

关于php - CakePHP saveAll() 带唯一约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18086211/

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