为什么会出现以下错误
Incorrect syntax near 'AUTO_INCREMENT'.
尝试执行时
CREATE TABLE Person
(
P_Id int NOT NULL AUTO_INCREMENT,
Name varchar(255),
PRIMARY KEY (P_Id)
)
正确的语法是什么?
答案 0 :(得分:14)
CREATE TABLE Person(
P_Id int NOT NULL IDENTITY(1,1) PRIMARY KEY,
Name varchar(255))
您应明确说明NAME
是NULL
还是NOT NULL
,因此您不依赖于current connection settings that happen to be in effect。
答案 1 :(得分:0)
create table Person
(
PersonId int identity(1,1)
constraint PK_Person primary key,
Name varchar(255) not null
)
一些意见:
not null
,因为标识列不能为空。 ANSI_NULL_DFLT_ON
选项不会影响标识列的“可空性”。ANSI_NULL_DFLT_ON
值的影响。