无法在 SQL Server Manager Express 2005 中插入多行

Can't insert multiple rows in SQL Server Manager Express 2005

我有一个 Table HORAS_XID_HORA(int), ID_ZONA(int), DESCRIPCION(nvarchar), COMIDA(bit), META(int), NUMERO(int).

我可以像这样插入一行:

INSERT INTO HORA_X 
   (ID_HORA,ID_ZONA,DESCRIPCION,COMIDA,META,NUMERO) 
VALUES
   (2,2,'06:00-07:00',0,174,1);

并且有效。

然而,当我尝试像这样插入多行时:

INSERT INTO HORA_X 
   (ID_HORA,ID_ZONA,DESCRIPCION,COMIDA,META,NUMERO) 
VALUES 
   (3,3,'06:00-07:00',0,174,1),
   (4,4,'06:00-07:00',0,174,1);

它抛出错误

Msg 102, Level 15, State 1, Line 2 Wrong syntax near ','.`

我的语法有误吗?我上网查了一下,应该没问题。 是的,我已经重新启动 SQL 服务器管理器,感谢您的指导和帮助。

如果我没记错的话,SQL Server 2005 不支持 VALUES table 值构造函数。它是在 SQL Server 2008 中引入的,因此对于 SQL Server 2005 您需要使用以下语句:

INSERT INTO HORA_X (ID_HORA,ID_ZONA,DESCRIPCION,COMIDA,META,NUMERO) VALUES (3,3,'06:00-07:00',0,174,1)
INSERT INTO HORA_X (ID_HORA,ID_ZONA,DESCRIPCION,COMIDA,META,NUMERO) VALUES (4,4,'06:00-07:00',0,174,1);

注意:SQL Server Manager Express 2005 是一个工具,但我假设您使用的是 SQL Server 2005。