【问题标题】:Error while updating Database with mssql_query使用 mssql_query 更新数据库时出错
【发布时间】:2013-02-23 19:44:00
【问题描述】:

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

SELECT 查询没问题,但是当我运行 UPDATE 查询时,如下所示:

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

我收到此错误:

更新失败,因为以下 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);

【问题讨论】:

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


    【解决方案1】:

    您可能必须通过打开设置来明确更改设置。您可以通过在 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'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多