Ошибка при обновлении базы данных с помощью mssql_query

Я использую 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);

1 ответ

Решение

Возможно, вам придется явно изменить настройки, включив их. Вы можете сделать это, выполнив следующий запрос перед оператором UPDATE:

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

При наличии дополнительных настроек, приводящих к ошибкам, их также необходимо изменить.

См. Также: ОТВЕТ: ОБНОВЛЕНИЕ не удалось, поскольку следующие параметры SET имеют неправильные настройки: "ANSI_NULLS, QUOTED_IDENTIFIER"

Другие вопросы по тегам