我的数据库中有一个表,其中包含我设置的 primary_key 的字符串。在添加它们之前,我需要经常检查该表中是否存在大约 1000 个“项目”,因为不能有任何重复项。结果是每个项目 2 次查询,或总共 2000 次,即 1-2 秒的额外加载时间。
如果我无论如何都尝试插入新行,而不检查重复,它不会被插入,这很好,但是 mysql 返回一个错误,这会使我的服务崩溃。
我的问题:
- 我可以关闭这些错误吗?
- 有没有比进行额外查询更好的方法来防止插入重复项?
mysql 返回一个错误,导致我的服务崩溃。
实际上是您自己的代码使您的服务崩溃,因为 mysql 错误不会导致任何崩溃。
有没有更好的方法来防止插入重复项
INSERT IGNORE
您可以使用IGNORE
关键字从插入中删除重复项:
INSERT IGNORE INTO yourTable Values (...)