我有一个主要的大表,我必须将其放入第三范式和较小的表(使用主键和外键链接它们)。该表是关于租借书籍的。
我有一个客户表,我需要为其创建一个主键。在主要的大表中有customer_id的重复,因为整个表是用于出租书籍,因此一个客户可能有多个租赁。
我正在尝试添加主键的表将不会有任何空值或重复,但是我不确定如何为此创建主键而不会出现错误 - 不确定如何使其唯一。
CREATE TABLE customer AS
SELECT cust_id, country_id, name, address, postcode
FROM BOOKS
WHERE cust_id != 0;
ALTER TABLE customer
ADD PRIMARY KEY (cust_id);
是否有人能够帮助我如何在我的客户表上创建主键,而只是从主表中获取每个唯一的cust_id。
答案 0 :(得分:0)
在SQL Server中,添加唯一键的直接方法是使用IDENTITY
。标识字段是整数字段,可以按指定的起始值和间隔自动填充连续值。如果未指定间隔,则它将从1开始,并在每次分配值时将值增加1。
虽然通常在创建表时完成,但您可以在ALTER TABLE
步骤中执行此操作,并在添加到现有表时分配值。我已明确指定了与默认值匹配的起始值和间隔以显示语法:
ALTER TABLE customer
ADD cust_id int not null PRIMARY KEY IDENTITY(1,1)