Sql server 2008 我创建了一个表,但它给出了错误
这就是我犯的错误 Msg 2716,第16级,状态1,第1行Sql server 2008 我创建了一个表,但它给出了错误,sql-server-2008,Sql Server 2008,这就是我犯的错误 Msg 2716,第16级,状态1,第1行 列、参数或变量#1:无法在数据类型int上指定列宽 你不应该写INT(4) 试试这个 CREATE TABLE Client( ClientID INT(4) PRIMARY KEY NOT NULL, FirstName VARCHAR(15), LastName VARCHAR(15), StreetAddress VARCHAR(25), Suburb VARCHAR(15), "State" VARC
列、参数或变量#1:无法在数据类型int上指定列宽 你不应该写INT(4) 试试这个
CREATE TABLE Client(
ClientID INT(4) PRIMARY KEY NOT NULL,
FirstName VARCHAR(15),
LastName VARCHAR(15),
StreetAddress VARCHAR(25),
Suburb VARCHAR(15),
"State" VARCHAR(3),
Postcode INT (4),
PhoneNumber INT(10)
);
INT数据类型没有宽度。 你必须写:
ClientID INT PRIMARY KEY NOT NULL
而不是ClientID INT(4)PRIMARY KEY NOT NULL
除了数据类型的选择之外(在INT中存储邮政编码在美国有效,但在国际上无效,国际电话号码也可能会有问题),您似乎想要的是MySQL语法的直接映射,包括一个自动递增键(在TSQL中称为IDENTITY)
错误信息非常清楚。你可以在mysql中为int提供一个宽度,而在SQL Server中则不能。因此,你可以告诉错误的人只要去掉
int
关键字后面的(10)
和(4)
,你应该将int(4)
更改为int
请先尝试阅读:
CREATE TABLE Client(
ClientID INT PRIMARY KEY NOT NULL,
FirstName VARCHAR(15),
LastName VARCHAR(15),
StreetAddress VARCHAR(25),
Suburb VARCHAR(15),
State VARCHAR(3),
Postcode INT, --should be varchar(10)
PhoneNumber INT -- should be varchar(12)
);
CREATE TABLE Client(
ClientID INT IDENTITY PRIMARY KEY NOT NULL,
FirstName VARCHAR(15),
LastName VARCHAR(15),
StreetAddress VARCHAR(25),
Suburb VARCHAR(15),
"State" VARCHAR(3),
Postcode INT,
PhoneNumber NUMERIC(10)
);