Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL UPDATE子句中出现错误_Sql_Sql Server_Sql Update - Fatal编程技术网

SQL UPDATE子句中出现错误

SQL UPDATE子句中出现错误,sql,sql-server,sql-update,Sql,Sql Server,Sql Update,我有一个简单的SQL查询: UPDATE [mydb].[dbo].[EXPLANATIONS] SET [EXPLANATION] = " This is the new explanation." WHERE [RECORDNUMBER] = 123456 AND [EXPLANATIONNUMBER] = 7; 我得到了这个错误: 消息207,16级,状态1,第1行 列名“这是新解释”无效 如何消除此错误并正确更新行?谢谢。双引号通常用于对象名称,例如列名。这是

我有一个简单的SQL查询:

  UPDATE [mydb].[dbo].[EXPLANATIONS] 
  SET [EXPLANATION] = " This is the new explanation." 
  WHERE [RECORDNUMBER] = 123456 
    AND [EXPLANATIONNUMBER] = 7;
我得到了这个错误:

消息207,16级,状态1,第1行 列名“这是新解释”无效


如何消除此错误并正确更新行?谢谢。

双引号通常用于对象名称,例如列名。这是SQL-92标准的一部分

在ANSI SQL中,双引号引用对象名称,例如允许它们包含其他情况下不允许的字符的表,或者与保留字相同的表,确实可以避免这种情况

字符串litral的单引号

  UPDATE [mydb].[dbo].[EXPLANATIONS] 
  SET [EXPLANATION] = 'This is the new explanation.'
  WHERE [RECORDNUMBER] = 123456 AND [EXPLANATIONNUMBER] = 7;

双引号通常用于对象名称,例如列名。这是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>'

使用单引号代替双引号,如:

SET [EXPLANATION] = '<i>new explanation</i>'

我们也可以使用双引号更新下表,只需在查询上方添加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

我们也可以使用双引号更新下表,只需在查询上方添加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

使用单引号。这是一个新的解释。这变成了“这是新的解释。”使用单引号。这是一个新的解释。这就变成了“这是新的解释”