在' 2'附近插入错误,语法不正确

时间:2014-04-14 21:39:41

标签: sql sql-server

我正在尝试将信息添加到表中,并且它会出现错误的语法。这是我的INSERT声明:

INSERT INTO Exercise 2 (Exercise, [Calories Burned])
VALUES ('Swimming', 500)

这是我的语法错误消息:

  

Msg 102,Level 15,State 1,Line 1
  '2'附近的语法不正确。

2 个答案:

答案 0 :(得分:5)

尝试

INSERT INTO [Exercise 2] (Exercise, [Calories Burned]) VALUES ('Swimming', 500)

表名不能包含空格。在它周围放置方括号可以让你在桌面名称中留出空间,就像在“卡路里燃烧”中所做的那样。列。

(虽然最好只重命名对象以删除空格:练习2和卡路里爆炸与你拥有的相比。最好的做法,正常的做事方式,等等。)

来自http://www.isbe.state.il.us/ILDS/pdf/SQL_server_standards.pdf

(是的,它是SQL Server,但最佳做法仍然是最佳做法)。

  

SQL Server标准版本1.5 Shane Lively& Michael Sarsany Page 2   24

     
      
  • 使用字母作为名称的第一个字符。 (不要用下划线或数字开头名字)
  •   
  • 限制缩写的使用(可能导致误解名称)
  •   
  • 限制首字母缩略词的使用(某些首字母缩略词有多个含义,例如" ASP")
  •   
  • 使名称可读(当大声朗读时,它们听起来不应该很有趣)。
  •   
  • 即使系统允许,也避免在名称中使用空格。
  •   

答案 1 :(得分:1)

您不能拥有包含column a"等空格的表名/列名。 可以说它像column_a[column a]

使用它,您的查询应该看起来像

INSERT INTO [Exercise 2] (Exercise, [Calories Burned])
VALUES ('Swimming', 500)

(OR)

INSERT INTO Exercise_2 (Exercise, Calories_Burned)
VALUES ('Swimming', 500)