2010-08-30 80 views
2

为了防止数据库中出现重复的表项,我使用主键。我只是添加信息,如果它是重复的,那么主要将是重复的,它不会添加到表中。防止重复的数据库表条目

我还应该做一个SQL查询(在尝试添加到数据库之前)以查看条目是否存在?或者这是多余的,因为我已经有主键集?

回答

5

如果您已经有一个约束来防止重复,检查值的存在是多余的。

但是在插入之前检查也是无效的,因为其他并发客户端可能会在检查和插入之间插入该值。所以即使你先检查,你仍然需要处理重复的重要错误。

0

对于大多数数据库平台,当您创建主键时,如果有重复条目,操作将失败,因此应该无需事先对其进行测试。

0

通常你会从调用SQL引擎中得到异常或错误代码。如果你需要处理这个问题取决于你的应用逻辑。例如,如果它是一个新的用户名,并且它已经存在于数据库中,那么异常是您应用程序逻辑的一部分,您将向新用户提供有关为什么注册失败的消息。

1

定义“唯一约束条件”与表中所需的列将修复一切。如果有重复,你会得到错误。