0

既存のSQL Server 2008 Databasemssql_queryに接続するために使用しています。

SELECTクエリは問題ありませんがUPDATE、次のようなクエリを実行すると:

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

次のエラーが表示されます。

次の SET オプションの設定が正しくないため、UPDATE が失敗しました: 'ANSI_NULLS, QUOTED_IDENTIFIER, CONCAT_NULL_YIELDS_NULL, ANSI_WARNINGS, ANSI_PADDING'。計算列のインデックス付きビューやインデックス、フィルター選択されたインデックス、クエリ通知、XML データ型メソッド、空間インデックス操作で使用する SET オプションが正しいことを確認します。(重大度 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);
4

1 に答える 1

0

設定をオンにして、設定を明示的に変更する必要がある場合があります。これを行うには、UPDATE ステートメントの前に次のクエリを発行します。

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

エラーが発生する追加の設定がある場合は、それらも変更する必要があります。

参照: ANSWER: 次の SET オプションの設定が正しくないため、UPDATE に失敗しました: 'ANSI_NULLS, QUOTED_IDENTIFIER'

于 2013-03-08T10:13:08.137 に答える