- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
为什么在数据库表中插入主键时,负 id 或零被认为是不好的做法?
我认为它在某些情况下可能有用,但人们说不推荐这样做,尽管他们从来没有说/不知道为什么。
所以,我想知道根据定义,是否存在一些限制,或者它是否应该没有任何问题,或者它是否只是一个约定,如果真的有一些限制,为什么不阻止该功能?
最佳答案
需要明确的是,这个问题和答案是关于使用负数作为代理键,而不是自然键。
据我所知,将其视为不良做法的原因有以下三个。
第一个有一定的道理。您永远不会在 SO 上看到使用负 ID 号的 SQL 示例或答案。 (我打算从今天开始改变这一点。)
第二个和第三个是第一个的推论,因为程序员通常会假设没有意外行为。 (这让我想起发现 VBA 可以让我将两个日期相乘,返回一个数字,我猜,用方形日期表示。)
对于第 2 种情况,应用程序程序员可能会通过不允许登录 UI 代码留出空间而引入细微错误,这可能会使 -123456 看起来像 123456。
第三个与编写返回 ID 号的代码有关。返回单个 ID 号的代码可能会返回 -1 作为错误代码。但在大多数情况下,-1 是一个有效的 ID 号。 (大多数数据库不会将 id 号限制在非负整数范围内。)
关于database - 为什么负 id 或零被认为是不好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8927761/
如果您想分享更多信息,可以在这里找到整个资源 指针: https://github.com/sergiotapia/DreamInCode.Net 基本上,我的API将为其他开发人员提供
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
我不是 SCM 工具的经验丰富的用户,尽管我确信它们的用处,当然。 我在以前的工作中使用了一些不起眼的商业工具,在当前的工作中使用了 Perforce,并在我的小型个人项目中使用了 TortoiseS
所以我想知道一些我应该避免在 javascript 中做的事情以获得良好的 SEO 排名。在我的下一个站点中,我将广泛使用 jquery 和 javascript,但不想牺牲 SEO。那么您认为我应该
基本上,我想知道什么是避免 future CSS 代码出现问题和混淆的最佳方法... 像这样命名 CSS 属性: div#content ul#navigation div.float-left (真
我是一名优秀的程序员,十分优秀!