在 Azure SQL 数据库中使用“INSERT INTO”SQL 查询时出错

Roh*_*hik 3 sql t-sql sql-server azure sql-insert

我已使用 SQL 数据库创建了一个 Azure SQL Server,并在该数据库中创建了一个名为 table1 的表,其中包含 ID、FirstName、LastName 和 DOB 列。但是,当我尝试使用这个语句时:

INSERT INTO table1(ID, FirstName, LastName, DOB)
VALUES (1, "Rohit", "Karthik", "8/2/06")
Run Code Online (Sandbox Code Playgroud)

它输出一个错误:

Failed to execute query. Error: Invalid column name 'Rohit'.
Invalid column name 'Karthik'.
Invalid column name '8/2/06'.
Run Code Online (Sandbox Code Playgroud)

(顺便说一句:ID是int类型,其他都是varchar类型)

SQL Server 中的上述 SQL 查询不应该在该表中插入新行吗?

我不确定为什么会出现这个错误,请帮忙。

GMB*_*GMB 8

对文字字符串使用单引号。在标准 SQL 中,双引号代表列名 - 因此您会收到错误:

INSERT INTO table1(ID, FirstName, LastName, DOB)
VALUES (1, 'Rohit', 'Karthik', '8/2/06')
Run Code Online (Sandbox Code Playgroud)

另外,假设它DOBdate类似 - 的数据类型,您应该考虑使用更标准的格式(例如YYYY-MM-DD、 或YYYYMMDD),而不是依赖服务器推断格式的能力(尽管 SQL Server 确实很擅长)。