SQL Server Express - 不正确的语法附近','
我在这个简单的sql上出现了一个厌恶的错误,我无法发现错误,任何帮助都会被满足。SQL Server Express - 不正确的语法附近','
CREATE TABLE alertitem
([id] INT,
[dateposted] DATETIME,
[daterevised] DATETIME,
[datestart] DATETIME,
[dateexpires] DATETIME,
[userid] INT,
[title] VARCHAR(MAX),
[details] VARCHAR(MAX),
[lat] DOUBLE,
[lon] DOUBLE,
[radius] INT,
[imageid] INT);
Double不是SQL Server数据类型。
这应该是所有数据类型的完整列表,请参阅MSDN。
我应该注意到,你可能会想用FLOAT或DECIMAL来解决你的问题,但是我对你正在做的其他事情(生产者或消费者)一无所知,所以我会让你选择哪种数据类型可以解决你的问题。
它的工作,谢谢,我使用与使用DOUBLE作为数据类型的MySQL相同的语法。 – user1279144 2012-03-28 21:29:32
如果这回答您的问题,请将此标记为已接受的答案。 – deutschZuid 2012-03-30 01:53:40
将DOUBLE更改为FLOAT以解决您的问题。
使用十进制(9,2),或者你需要,而不是DOUBLE
你只是需要删除DOUBLE,因为它不是一个支持的数据类型的精度。我还reccomend组织你的查询更容易阅读的方式,如:
CREATE TABLE alertitem (
[id] INT,
[dateposted] DATETIME,
[daterevised] DATETIME,
[datestart] DATETIME,
[dateexpires] DATETIME,
[userid] INT,
[title] VARCHAR(MAX),
[details] VARCHAR(MAX),
[lat] FLOAT,
[lon] FLOAT,
[radius] INT,
[imageid] INT);
你会发现很容易解决的bug这种方式。
[什么代表在SQL Server中的双重?](http://stackoverflow.com/questions/1209181/what-represents-a-double-in-sql-server) – 2012-03-28 21:17:33