如何使用SQL Server Management Studio制作组合键?


163

如何使用SQL Server Management Studio制作组合键?

我希望两个INT列形成一个表的标识(唯一)

Answers:


356

在此处输入图片说明

  1. 打开设计表标签
  2. 突出显示您的两个INT字段(Ctrl / Shift +单击第一栏中的灰色块)
  3. 右键单击->设置主键

4
要突出显示多个字段,请单击“列名”和“数据类型”等列前面的块。Ctrl / Shift +单击列名字段实际上不会执行任何操作。
2013年

3
因此,如果一个是字符串而另一个是int,则不可能吗?似乎不是……
B. Clay Shannon

3
我对此表示反对,但后来我意识到OP特别要求在SSMS中进行操作。您应该始终编写脚本来编写数据库更改脚本,如果您使用这样的工具,则永远不会学会自己进行更改
JonnyRaa 2015年

2
@JonnyLeeds那是一匹非常高的马。如果人们更喜欢GUI,这怎么了?
leinad13'6

4
@ leinad13我一定过得很糟糕!但是主要的问题是它们是不可重复的,并且通常意味着人们在进行不受控制的临时更改和调整,以解决数据库/架构问题。这是一个非常糟糕的信号-它们是未记录的(例如,通过写下要修复的代码并将其检入版本控制和/或具有可将正确的更改自动应用于任何数据库版本的工具),并且如果您有多个安装,那么一旦数据库不具有相同的架构,您就会遇到严重的麻烦
JonnyRaa

63

这是一些代码:

-- Sample Table
create table myTable 
(
    Column1 int not null,
    Column2 int not null
)
GO

-- Add Constraint
ALTER TABLE myTable
    ADD CONSTRAINT pk_myConstraint PRIMARY KEY (Column1,Column2)
GO

我将约束添加为单独的语句,因为我假设您的表已经创建。


我猜这个答案合适,因为您可以在SSMS的“查询”窗口中运行它;;)
dance2die

2
为FTW编写脚本,并进行明确的命名!外部ADD PRIMARY KEY和内部PRIMARY KEY定义将为键赋予随机名称,如果您没有db diagram +表,则很难理解该键所属的位置。
戴文2015年


14

在设计模式下(右键单击表,选择“修改”),突出显示两列,右键单击并选择“设置主键”


7

在SQL Server Management Studio中打开表设计器(右键单击表并选择“设计”)

按住Ctrl键的同时,突出显示表格左边缘的两列或更多列

点击顶部标准菜单栏上的小“键”

你完成了..

:-)


5

在表设计视图中突出显示两行,然后单击键图标,它们将成为复合主键。

我不确定您的问题,但是每个表中只有一个列可能是IDENTITY列,但不能同时是这两个列。


4
create table myTable 
(
    Column1 int not null,
    Column2 int not null
)
GO


ALTER TABLE myTable
    ADD  PRIMARY KEY (Column1,Column2)
GO
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.