这似乎是一个简单的问题,但即使我的列只是一个唯一代码及其描述,是否仍然需要包含一个具有标识的主键?
CREATE TABLE table1 (
column1 INT NOT NULL IDENTITY,
column2 CHAR(4) NOT NULL,
column3 VARCHAR(10) NULL
CONSTRAINT pk_id PRIMARY KEY (column1),
CONSTRAINT uq_column2 UNIQUE (column2)
)
示例值:
INSERT INTO table1 VALUES ('A', 'aaa')
INSERT INTO table1 VALUES ('B', 'bbb')
如果你
column2
是不可变的,那么它可以作为主键。只有当它要保存长值时,您才可以考虑创建一个单独的主键字段,以节省具有该表外键约束的表中的空间。