a.列级别
GO
CREATE TABLE Products
(
ProductID INT CONSTRAINT pk_products_pid PRIMARY KEY,
ProductName VARCHAR(25)
);
GO
b.表级别
CREATE TABLE Products
(
ProductID INT,
ProductName VARCHAR(25),
CONSTRAINT pk_products_pid PRIMARY KEY(ProductID)
);
GO
列级约束和表级约束之间有什么区别吗?
最佳答案
没有。如何应用该约束只是个人喜好问题。
主键约束只是一个主键约束 - 它始终适用于表(毕竟:它可以包含多个列 - 它不能“在列级别”)。
它不是一次“在列级别”,也不是在其他情况下在“表级别” - 它始终是相同的。
只是为了好玩 - 您还可以通过第三种方式创建主键约束:
(CREATE TABLE statement)
GO
ALTER TABLE dbo.Products
ADD CONSTRAINT PK_Products_pid PRIMARY KEY(ProductID)
这又与您已有的其他两个选项相同。
关于sql - SQL Server中的列级与表级约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9494129/