我正在尝试将信息添加到表中,并且它会出现错误的语法。这是我的INSERT声明:
INSERT INTO Exercise 2 (Exercise, [Calories Burned])
VALUES ('Swimming', 500)
这是我的语法错误消息:
Msg 102,Level 15,State 1,Line 1
'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)