我应该在INSERT之前还是之后处理ER_DUP_ENTRY?

时间:2020-05-05 13:23:54

标签: mysql sql node.js

我有运行MySQL的Node.js后端应用程序。

在服务器当前版本上执行ER_DUP_ENTRY查询之后,我正在Node.js端处理INSERT。因此,我正在运行INSERT,然后如果MySQL返回该ER_DUP_ENTRY,则会向用户显示警告。

我认为每次从MySQL收到此错误都会给数据库增加负担。

我的问题是,我是否应该使用SELECT检查数据库中是否存在重复项,然后执行INSERT查询,或者当前版本没有问题?

1 个答案:

答案 0 :(得分:0)

您不想在执行插入查询之前进行检查。只需将其设置在表格上方的UNIQUE constraint中,即可用于特定列或组合列(多个)。因此,每当您再次插入相同的数据时,MySQL都会处理这种重复性。

检查插入查询响应状态。然后,您可以确定这是成功/失败(重复或其他错误)。