我创建了一个带有sql数据库的azure sql server,以及该数据库中名为table1的表,其中包含id、firstname、lastname和dob列。但是,当我尝试使用以下语句时:
INSERT INTO table1(ID, FirstName, LastName, DOB)
VALUES (1, "Rohit", "Karthik", "8/2/06")
它输出一个错误:
Failed to execute query. Error: Invalid column name 'Rohit'.
Invalid column name 'Karthik'.
Invalid column name '8/2/06'.
(顺便说一句:id的类型是int,其他的类型都是varchar)
sql server中的上述sql查询不应该在该表中插入新行吗?
我不知道为什么会出现这个错误,请帮忙。
1条答案
按热度按时间lf5gs5x21#
对文字字符串使用单引号。在标准sql中,双引号代表列名-因此出现以下错误:
另外,假设
DOB
属于date
-与数据类型一样,您应该考虑使用更标准的格式(例如YYYY-MM-DD
,或YYYYMMDD
)而不是依赖服务器推断格式的能力(尽管SQLServer非常擅长)。