SQL 更新条款中的错误
Error in SQL UPDATE CLAUSE
我有这个简单的 SQL 查询:
UPDATE [mydb].[dbo].[EXPLANATIONS]
SET [EXPLANATION] = " This is the new explanation."
WHERE [RECORDNUMBER] = 123456
AND [EXPLANATIONNUMBER] = 7;
我得到这个错误:
Msg 207, Level 16, State 1, Line 1
Invalid column name ' This is the new explanation.' .
我怎样才能摆脱这个错误并正确更新行?谢谢
双引号通常用于对象名称(例如列名称)。那是 SQL-92 标准的一部分。
在 ANSI SQL 中,双引号引用对象名称(例如表格),允许它们包含其他不允许的字符,或者与保留字相同(真的要避免这种情况)。
字符串 litral 的单引号
UPDATE [mydb].[dbo].[EXPLANATIONS]
SET [EXPLANATION] = 'This is the new explanation.'
WHERE [RECORDNUMBER] = 123456 AND [EXPLANATIONNUMBER] = 7;
不要使用双引号,而是使用单引号,例如:
SET [EXPLANATION] = '<i>new explanation</i>'
我们也可以在 table 下面使用双引号进行更新,只需在查询上方添加 set 语句即可。
set QUOTED_IDENTIFIER off
UPDATE [mydb].[dbo].[EXPLANATIONS]
SET [EXPLANATION] = "This is the new explanation."
WHERE [RECORDNUMBER] = 123456 AND [EXPLANATIONNUMBER] = 7;
set QUOTED_IDENTIFIER on
我有这个简单的 SQL 查询:
UPDATE [mydb].[dbo].[EXPLANATIONS]
SET [EXPLANATION] = " This is the new explanation."
WHERE [RECORDNUMBER] = 123456
AND [EXPLANATIONNUMBER] = 7;
我得到这个错误:
Msg 207, Level 16, State 1, Line 1
Invalid column name ' This is the new explanation.' .
我怎样才能摆脱这个错误并正确更新行?谢谢
双引号通常用于对象名称(例如列名称)。那是 SQL-92 标准的一部分。
在 ANSI SQL 中,双引号引用对象名称(例如表格),允许它们包含其他不允许的字符,或者与保留字相同(真的要避免这种情况)。
字符串 litral 的单引号
UPDATE [mydb].[dbo].[EXPLANATIONS]
SET [EXPLANATION] = 'This is the new explanation.'
WHERE [RECORDNUMBER] = 123456 AND [EXPLANATIONNUMBER] = 7;
不要使用双引号,而是使用单引号,例如:
SET [EXPLANATION] = '<i>new explanation</i>'
我们也可以在 table 下面使用双引号进行更新,只需在查询上方添加 set 语句即可。
set QUOTED_IDENTIFIER off
UPDATE [mydb].[dbo].[EXPLANATIONS]
SET [EXPLANATION] = "This is the new explanation."
WHERE [RECORDNUMBER] = 123456 AND [EXPLANATIONNUMBER] = 7;
set QUOTED_IDENTIFIER on