SQL“指定的数据类型无效”错误

时间:2009-09-03 18:41:31

标签: sql

为什么SQL server express 2008会给我这个错误?

CREATE TABLE model (
name varchar(3),
desc varchar(25)
)


0x80040E14, Minor Error 26302
> CREATE TABLE model (
name varchar(3),
desc varchar(25)
)
The specified data type is not valid. [ Data type (if known) = varchar ]

4 个答案:

答案 0 :(得分:6)

因为DESC是SQL关键字。您可以使用其他列名称(例如description)或在desc周围加上括号:

[desc] VARCHAR(25)

答案 1 :(得分:6)

SqlCe是一个仅限Unicode的数据库,因此您需要nvarchar而不是varchar。

答案 2 :(得分:1)

DESC是一个保留的SQL关键字。在SQL Server中,您可以通过使用[]括起名称来转义保留名称,例如[desc]

或者,不要使用缩写并命名列Description

答案 3 :(得分:0)

我见过的两个回复都是正确的。

DESC是DESCENDING的缩写(如在ORDER BY子句中),因此保留。使用'desc'或[desc]将避免该问题,并允许使用空格等字段名称。

(注意:我不建议使用关键字作为字段名称或别名。我也不建议在其中添加空格。但是使用''或[]你可以......)