primary-key相关内容

MySQL是为主键创建额外的索引还是将数据本身用作索引

找不到明确的答案。 我知道当您创建主键时,MySQL会根据该主键对数据进行排序,问题是,它实际上是创建了另一个索引,还是使用实际数据作为索引,因为它应该按主键排序? 编辑: 如果我有一个表,具有索引A和索引B,但没有主键,那么我有数据+索引A+索引B。如果我将表更改为将索引A的列作为主键,我将只有数据(它也用作索引)+索引B,对吗?以上是内存使用量 推荐答案 Clustered ..
发布时间:2022-08-11 13:07:05 数据库

如何在SQL Server 2008 R2中强制使列对于整个表是唯一的?

我有一个带有Description字段的表。我希望确保没有两行具有相同的“Description”,但我无法将Description写入我的IDENTITY列(我的ID列是一个int)。 将Description设置为第二个主键(除了已经是主键的我的ID之外)是否安全? 推荐答案 向Description列添加唯一索引。 使用SQL Server Management Stud ..
发布时间:2022-08-07 19:48:57 数据库

SQL Server更改主键数据类型

我正在处理SQL Server 2012: 我有一个主键列为INT的表。我需要将其更改为GUID。 是否要更改表并将int列删除为primary key? 添加GUID列并将其设置为主要并删除旧的INT列? 谢谢。 推荐答案 您不能更改主键列,除非删除它。.任何更改其数据类型的操作都将导致以下错误.. 对象‘XXXX’依赖于列‘XXXX’。 唯一选项 ..
发布时间:2022-07-23 21:59:58 其他开发

一个Microsoft SQL表可以有多个主键吗?

我总是很好奇,但找不到一个简洁的答案。有帮助吗? 推荐答案 它不能有多个主键。但是,它在主键中可以有多个列。它还可以有多个唯一索引。通常,唯一索引是主键,但单个表上可以有多个唯一索引。我脑子里想不出一个例子,但当我想出来的时候,我会加进去的。 编辑:可能是这样的:在美国,机动车管理局可能有一个包含两个唯一列的Person表--社会安全号码和驾驶执照号码。两者都应该是唯一的。 ..
发布时间:2022-07-12 22:04:40 数据库

有没有一种简单的方法可以从两个整数的组合键创建唯一的整数键?

出于与问题不太相关的各种原因,我有一个表,其中有一个由两个整数组成的组合键,我想从这两个数字中创建一个唯一键。我最初的想法是将它们连接在一起,但当我意识到(51,1)的组合键将产生与(5,11)相同的唯一键(即511)时,我很快就遇到了问题。 有没有人有一种聪明的方法从两个整数中生成一个整数,以便生成的整数对于这对起始整数是唯一的? 编辑:在遇到大量令人印象深刻的数学问题后,我意识到我 ..
发布时间:2022-04-08 17:25:35 其他开发

可以将非连续ID作为数据库中表的主键吗?

我不太了解数据库,无法找到合适的词来提出这个问题,所以让我举一个例子来解释我正在尝试做的事情:假设我希望表的主键是我从API获取的ID,但这些API请求中的大多数都会导致404个错误。因此,我的表将如下所示: 我也不知道如何在Stack Overflow上设置表状结构的格式,所以这将是一个粗略的视觉效果: API_ID_PK | name ------------------ 1 ..
发布时间:2022-04-08 17:23:52 数据库

PostgreSQL-随机主键

我需要一个PostgreSQL表的主键。ID应该由大约20个数字中的一个数字组成。 我是数据库的初学者,也没有使用过PostgreSQL。我找到了一些随机id的示例,但这些示例包含字符,我只需要一个整数。 有人能帮助我解决此问题吗? 推荐答案 我猜您实际上是指随机的20位数字,因为1到20之间的随机数字会迅速重复并导致冲突。 您需要的可能不是实际的随机数,它是看起来随 ..
发布时间:2022-04-08 17:22:42 其他开发

主键也是索引吗?

对mysql数据库表列的primary key约束是否自动意味着在给定列上创建了索引? 如果是,我们可以将其推广到任何数据库还是仅取决于数据库实现? 如果是,并且如果主键是复合的,是否为每个此类列创建索引? 创建(附加?)有意义吗?通过对已是primary key的列的key约束进行索引? 推荐答案 在MySQL中,主键或唯一键在约束中定义的列上创建索引。如果有多列,则创建复 ..
发布时间:2022-04-08 17:20:45 数据库

我可以在两个不同的表中使用同一个主键吗?

“” 创建表Employee ( EmploeID int(10)主键, 姓名:Char(20) ); ‘ “” 创建表SALARY ( EmploeID int(10)主键, 工资INT(10) ); “”“ 是否可以在两个表中使用相同的主键? 推荐答案 如果您的问题是您是否可以在多个表上使用相同的EMPLOYEEID列作为主ID,则答案是“可以” 您可以在多个表上使用同 ..
发布时间:2022-04-08 17:19:19 其他开发

SQL Server 将自动增量主键添加到现有表

作为标题,我有一个现有的表,它已经填充了 150000 条记录.我添加了一个 Id 列(当前为空). 我假设我可以运行查询以使用增量数字填充此列,然后设置为主键并打开自动增量.这是正确的方法吗?如果是这样,我该如何填写初始数字? 解决方案 不 - 你必须反其道而行之:从一开始就将其添加为 INT IDENTITY - 它将是执行此操作时填充标识值: ALTER TABLE dbo. ..
发布时间:2022-01-31 17:32:30 数据库

如何在rails中向我的表追溯添加主键?

我创建了一个没有主键的表 (:id => false),但现在它又回来咬我的屁股了. 我的应用程序已经在生产中,我不能放弃它并重新创建另一个应用程序. 有没有办法运行迁移以向我的表中添加另一个自动增量主键列? 解决方案 在迁移中添加主键的命令是: add_column :my_table, :id, :primary_key 但是,您问题的措辞表明您的表已经有一个自 ..
发布时间:2022-01-23 10:05:36 其他开发

初级&pgAdmin 中的外键

我想知道有人能给我解释一下如何在 pgAdmin 中分配主键和外键吗? 我在网上找不到任何信息. 例如...我有一个学生表,其中包含他们的所有详细信息(地址、d.o.b. 等).我将在表中添加一个 student_number 并将其设为主键. 我只想知道如何使用 pgAdmin 来做到这一点?如果您愿意解释,请给我有关在 postgreSQL(和 pgAdmin)中使用主键的更 ..
发布时间:2022-01-20 13:05:10 其他开发

可以压缩主键/序列吗?

我有一个数据库,其中所有内容都与外键链接,因此 Postgres 确切地知道数据库的布局.. 好吧,假设我有 Table1 和 Table2. Table1 有 3 个字段.RID、table2_rid、数据 所以 table1.table2_rid 引用 table2.RID 并用外键表示.在这两个RID字段中都是主键并且是序列类型. 我想知道的是如何“压缩"主键?比如说 ..