SQL Server Express-靠近';的语法不正确';
我在这个简单的sql上遇到了一个异常错误,我无法发现错误,任何帮助都将被告知SQL Server Express-靠近';的语法不正确';,sql,sql-server,tsql,Sql,Sql Server,Tsql,我在这个简单的sql上遇到了一个异常错误,我无法发现错误,任何帮助都将被告知 CREATE TABLE alertitem ([id] INT, [dateposted] DATETIME, [daterevised] DATETIME, [datestart] DATETIME, [dateexpires] DATETIME, [userid] INT, [title] VARCHAR(MAX), [
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数据类型 这应该是所有数据类型的完整列表,请参阅
我应该注意,您可能想使用FLOAT或DECIMAL来解决您的问题,但我不知道您正在做的其他事情(生产者或消费者),因此我将让您选择哪种数据类型来解决您的问题。将DOUBLE更改为FLOAT来解决您的问题。使用DECIMAL(9,2)或者,您只需要删除DOUBLE而不是DOUBLE所需的精度,因为它不是受支持的数据类型。我还建议您以更易于阅读的方式组织查询,例如:
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更容易 它工作了,谢谢,我使用了与MySQL相同的语法,MySQL使用DOUBLE作为数据类型。