ssms - 如何在表中设置(组合)两个主键

标签 ssms sql-server-express database composite-primary-key

对于小型销售相关应用程序,我们使用逻辑数据模型设计数据库。上台转换为实物模型。在 SQL Server Management Studio Express 中创建表时,根据我们的逻辑数据模型,我们需要将两个属性组合起来形成唯一的 ID。是否可以将两个主键组合起来设置?

但是在观察Northwind Sample时,我们发现在ORDER DETAILS表中,我们可以看到两个主键Order Id & Product Id .并且根据规则表不能有两个主键。那么它是如何发生在北风的呢?

在我的例子中,我应该如何在我的表中设置两列以使其成为两个主键?

有人给了建议

To make a two primary key, open the table in design view and click on the two of the required fields and holding CTL, apply primary key

这行得通吗??

编辑;

现在我的表在 SSMS 中有 2 个 PK。它有效还是只是 2 个 pks 的组合 enter image description here

最佳答案

最简单的方法是在 SSMS Express 中使用 T-SQL 命令,而不是尝试使用可视化设计器......

一旦你设计并创建了你的表格,尝试这样的事情:

ALTER TABLE dbo.YourTableNameHere
ADD CONSTRAINT PK_YourTableNameHere
PRIMARY KEY(Item_Id, Purchase_Id)

关于ssms - 如何在表中设置(组合)两个主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11578703/

相关文章:

regex - 如何在 Visual Studio 或 SSMS "Find and Replace"中找到带有正则表达式模式的 {min,max} 重复?

cmd - 用户 SQL localdb 共享实例登录失败

MySQL:mysqlcheck 占用太多磁盘空间来执行操作

database - 您在使用 NoSQL 数据存储时遇到过哪些可伸缩性问题?

java - servlet 和 jdbc 中未找到类异常

sql-server - 存储过程中的删除表无法正常工作?

sql-server - 如何在 SQL Server Management Studio 中更改 LocalDB 的 "Database default locations"?

Java w/SQL Server Express 2008 - 索引超出范围异常

sql-server - 在 Visual Studio 中从 SQL Server Express 数据库获取数据库名称

sql-server - 将 Entity Framework 连接字符串转换为SQL Server Express