4

查询如下:

create TABLE tbl_temp (
[ref] numeric(18), 
[item_code] varchar(50), 
[item_desc] nvarchar(150),
[Qty] smallint) PRIMARY KEY (ref, item_code))

返回错误:

消息 156,级别 15,状态 1,第 1 行关键字“PRIMARY”附近的语法不正确。

4

2 回答 2

9

试试这个方法:

create TABLE tbl_temp 
(
   [ ref] numeric(18), 
   [item_code] varchar(50), 
   [item_desc] nvarchar(150),
   [Qty] smallint,
   PRIMARY KEY (ref, item_code)
) 

但更好的方法是使用constraint如下:

create TABLE tbl_temp 
(
   [ ref] numeric(18), 
   [item_code] varchar(50), 
   [item_desc] nvarchar(150),
   [Qty] smallint,
   CONSTRAINT pk_tbl_temp  PRIMARY KEY (ref, item_code)
) 

或者

create TABLE tbl_temp 
(
   [ ref] numeric(18), 
   [item_code] varchar(50), 
   [item_desc] nvarchar(150),
   [Qty] smallint
) 

ALTER TABLE tbl_temp 
 ADD CONSTRAINT pk_tbl_temp  PRIMARY KEY (ref, item_code)

是更好的方法,因为您为您的 PK 设置了一个友好的名称。

于 2013-05-16T06:49:19.687 回答
1

不如试试

create TABLE tbl_temp
([ref] numeric(18), 
 [item_code] varchar(50),
 [item_desc] nvarchar(150),
 [Qty] smallint,
PRIMARY KEY (ref, item_code)
 )

看看这个例子

SQL 小提琴演示

于 2013-05-16T06:50:02.703 回答