使用mssql_query更新数据库时出错

时间:2013-03-08 09:48:16

标签: sql-server quoted-identifier ansi-nulls

我正在使用mssql_query连接到现有的 SQL Server 2008数据库

SELECT个查询是可以的,但是当我运行UPDATE个查询时,如下所示:

mssql_query("UPDATE TABLENAME SET fieldname = 1 WHERE Pk = '".$pk."'");

我收到此错误:

  

UPDATE失败,因为以下SET选项不正确   设置:'ANSI_NULLS,QUOTED_IDENTIFIER,CONCAT_NULL_YIELDS_NULL,   ANSI_WARNINGS,ANSI_PADDING'。验证SET选项是否正确   与计算列和/或的索引视图和/或索引一起使用   过滤的索引和/或查询通知和/或XML数据类型   方法和/或空间索引操作。 (严重程度16)

这是我的数据库连接代码:

$server = 'SRVSQL';

// Connect to MSSQL
$link = mssql_connect($server, 'xx', 'xxxxxx');

if (!$link) {
    die('Something went wrong while connecting to MSSQL');
}

$conn = mssql_select_db('xxxxxxx',$link);

1 个答案:

答案 0 :(得分:0)

您可能必须通过打开设置来明确更改设置。您可以通过在UPDATE语句之前发出以下查询来执行此操作:

SET 
  ANSI_NULLS, 
  QUOTED_IDENTIFIER, 
  CONCAT_NULL_YIELDS_NULL, 
  ANSI_WARNINGS, 
  ANSI_PADDING 
ON;

如果有其他设置产生错误,那些也可能需要更改。

另请参阅:ANSWER: UPDATE failed because the following SET options have incorrect settings: 'ANSI_NULLS, QUOTED_IDENTIFIER'