如何知道索引设置在哪一列[SQL Server]

时间:2017-05-16 13:58:39

标签: sql sql-server

当我执行insert语句时,收到以下错误消息:

  

无法在对象' dbo.MY_TABLE'中插入重复的键行。与众不同   索引' MY_INDEX'。重复键值为()。

但是,我试图插入一个表格中没有ID的日期,所以我想知道这个索引设置在哪一列来解决问题。

5 个答案:

答案 0 :(得分:0)

如果要将值插入带有ID列的表中,则需要设置IDENTITY_INSERT。即使您传递了ID,它也会尝试创建一个ID。 EX:

SET IDENTITY_INSERT yourdb.yourschema.yourtable ON

[INSERT statement here]

SET IDENTITY_INSERT yourdb.yourschema.yourtable OFF

要检查表的依赖关系,您可以右键单击表并转到View Dependencies。

答案 1 :(得分:0)

在查询编辑器中,选择表名称并按Alt F1。您可以在索引名称下看到索引。

答案 2 :(得分:0)

如果您仍希望查看索引信息,请与@jacob H的答案一起使用。

要查看表索引,请在SQL Server Management Studio的对象资源管理器中展开表,然后展开"索引"子文件夹,以查看表中的索引。您可以右键单击索引和"脚本索引为>创建>新的查询编辑器窗口"。这将准确显示它所在的列。

答案 3 :(得分:0)

点击"对象资源管理器"
导航到您的数据库,然后导航到您的表格 展开表格(点击小加号)
展开文件夹"索引"
右键单击相关索引 点击"脚本索引为..." 点击"创建到..." 点击"剪贴板"

在新窗口中粘贴此索引创建查询,您将确切地看到索引的作用。

或者,您可以编写以下查询并在索引部分中查看结果:
SP_HELP <my table>

答案 4 :(得分:0)

当您选择表名并按ALT + F1时,它会显示索引列表和列名(索引键)。

示例:

index_name index_description index_keys IX_D_Pessoa_CPF非聚集位于PRIMARY CPF

相关问题