我有以下SQL语句:
"INSERT INTO OUTSTANDING(type, orderID) VALUES(data, @ID)";
为了更加清晰,或用“”围绕单词
"INSERT INTO OUTSTANDING(type, orderID) VALUES(\"data\", @ID)";
现在如果我在我的c#代码中执行此操作,我会收到一条错误消息:
SqlException:类型的未处理异常 System.Data.dll中发生System.Data.SqlClient.SqlException:附加信息:列名称数据无效。
现在我想知道SQL如何将值内部的字符串解释为字符串。
答案 0 :(得分:3)
试试这个
"INSERT INTO OUTSTANDING([Type], [OrderID]) VALUES('data', @ID)"
而不是
"INSERT INTO OUTSTANDING(type, orderID) VALUES(\"data\", @ID)"
答案 1 :(得分:3)
SQL-Server中的双引号是delimiters for identifiers names,而不是文本分隔符。
在data
周围使用双引号,告诉RDBMS它是对象的名称;改为使用单引号:
INSERT INTO OUTSTANDING(type,orderID) VALUES('data',@ID);