c# - 应用开发 : Should I check for a primary-key on a table or assume it should be there?

标签 c# java database primary-key

在构建应用程序时,您正在使用具有主键的表,您是否应该检查该表是否具有主键或没有重复的 ID?

我遇到了一些我正在维护的代码,这些代码正在检查以确保结果集中没有重复的 ID。但是正在检查的 id 是主键。所以对我来说不需要这个检查,因为你不能有一个具有相同值的主键。

但是...如果 DBA 出于任何原因禁用了表上的主键或假设主键应该始终存在,是否应该检查它?

最佳答案

确保查询实际上仅从具有主键的表中返回数据。如果此表在查询中连接到另一个表,并且不是一对一关系,则可能会导致返回多行,这些行在主表中具有相同的 ID。在这种情况下,检查重复项的代码实际上可能在做一些有值(value)的事情。

只要不是这种情况,就删除检查重复项的代码。验证数据库是否正常工作是对 CPU 周期和内存的浪费。

关于c# - 应用开发 : Should I check for a primary-key on a table or assume it should be there?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3576809/

相关文章:

php - 如何制作类似 Facebook 的通知表结构?

R:根据列前缀和后缀有条件地替换值

c# - 如何在 asp.net mvc 的 Controller 中为特定用户提供操作方法的访问权限

C# "Nested"或 "chained"泛型?

java - 在这些线程中,这个 boolean 值是做什么用的?

java - 如何在 Java 的 HTTP 请求中编码西里尔符号?

PHP:使用 anchor 标记提交表单数据

c# - 除了从密封类继承之外,还有其他选择吗?

c# - 如何使用 javascript 在 LinkBut​​ton 模式下触发 BulletedList?

java - 在非 Activity 类中访问 Android 传感器