问题标签 [primary-key]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - 两个外键而不是主键
我想知道,是否有可能创建一个没有主键但有两个外键的表,其中外键对总是不同的?例如,一个STOCK
表,其中item_id
andwarehouse_id
作为外键来自ITEMS
andWAREHOUSES
表。所以同一个项目可以在不同的仓库。表视图:
或者我是否必须使用自动增量或其他方式创建未使用的主键字段?数据库是oracle。
谢谢!
sql - 跳过与 SQL 副本的主键冲突
我收集了大量原始数据(大约 3 亿行),其中包含大约 10% 的复制数据。我需要将数据存入数据库。为了性能,我尝试使用 SQL 副本。问题是当我提交数据时,主键异常会阻止任何数据被处理。我可以更改主键的行为,以便简单地忽略或替换冲突数据吗?我真的不在乎这两种方式 - 我只需要每个数据的一个唯一副本。
database - 我可以在一个表中有多个主键吗?
我可以在一个表中有多个主键吗?
.net - ORM 对复合主键的支持
我读过复合主键会混淆典型的 ORM 代码生成器。哪些 ORM 最适合复合 PK,哪些应该避免?(我对 .NET 特别感兴趣)
database - 使用 URI 的 md5 哈希作为数据库主键的优缺点
我正在构建一个数据库,该数据库将存储有关一系列对象(例如科学论文、标本、DNA 序列等)的信息,这些对象都在线存在并且可以通过 URL 或诸如DOI之类的标识符来识别. 使用这些 GUID 作为对象的主键似乎是一个合理的想法,并且我在使用 GUID 的 md5 哈希时遵循了美味和Connotea 。如果您将鼠标悬停在美味或 Connotea 书签中的编辑或删除按钮上,您将在浏览器状态栏中看到 md5 哈希。例如,http://stackoverflow/的书签是
其中 e4a42d992025b928a586b8bdc36ad38d a 是http://stackoverflow/的 md5 哈希值。
有人对这种方法的优缺点有看法吗?
对我来说,这种方法的一个优点(与使用由数据库本身生成的自动递增主键相反)是我必须在对象之间做很多链接,并且通过使用 md5 哈希,我可以将这些链接外部存储在一个文件中(例如,作为数据挖掘/抓取的结果),然后将它们批量导入数据库。同样,如果必须从头开始重建数据库,则指向对象的 URL 不会更改,因为它们使用 md5 哈希。
我欢迎任何关于这听起来是否合理的想法,或者是否有其他(更好的?)方法来做到这一点。
sql-server - 如何确定列是否在其表的主键中?(SQL 服务器)
我目前正在使用...
...确定有关给定数据库中列的信息,以生成数据访问层。
我可以从哪里检索有关这些列是否是其表主键中的参与者的信息?
sql-server - SQL Server 2005 会惩罚我使用 nvarchar(50) 作为主键,而不是整数?
我正在考虑更改一些表以使用 nvarchar(50) 作为主键而不是 int 主键。对键使用 int ID 确实是不相关的数据,它是我感兴趣的字符串。会发生什么样的性能损失,或者你在哪里研究这个?除了削减和尝试是。
sql - 重新编号主键
如何重置 sql 表上的主键计数器并使用新的主键更新每一行?
postgresql - 不同步时如何重置postgres的主键序列?
我遇到了我的主键序列与我的表行不同步的问题。
也就是说,当我插入一个新行时,我得到一个重复键错误,因为串行数据类型中隐含的序列返回一个已经存在的数字。
这似乎是由于导入/恢复没有正确维护顺序引起的。
mysql - 在 mysql 表 auto_increment 中创建一个 ID(事后)
我从另一个开发人员那里获得了一个数据库。他没有在任何表上使用 auto_incrementers。它们都有主键 ID,但他在代码中手动完成了所有递增操作。
我现在可以把它们变成 Auto_incrementers 吗?
哇,非常好,非常感谢。它在我的一张桌子上运行顺利。但是第二张表,我收到此错误...将 '.\DBNAME#sql-6c8_62259c' 重命名为 '.\DBNAME\dealer_master_events' 时出错