Оператор INSERT, созданный с помощью Python, выдает ошибку при выполнении и фиксации. Я взял копию заявления из Python и сам запустил его в SQL SERVER, и он там работает нормально. Таблица, в которую я пытаюсь вставить, содержит столбец идентификаторов. Когда Python попытается выполнить, он выдаст мне ошибку с сообщением о том, что ниже, когда я исключу столбец идентификаторов в операторе
Таблица выглядит следующим образом MY_TABLE (ID INT IDENTITY (1,1) NOT NULL, A INT, B INT)
INSERT INTO MY_TABLE (A, B) VALUES(VALUE_A, VALUE_B);
"('23000'," [23000] [Microsoft] [Драйвер ODBC SQL Server] [SQL Server] Невозможно вставить значение NULL в столбец 'MY_IDENTITY_COLUMN', таблица 'MY_TABLE'; столбец не допускает пустые значения. Ошибка INSERT . (515) (SQLExecDirectW); [23000] [Microsoft] [Драйвер ODBC SQL Server] [SQL Server] Оператор завершен. (3621) ")"
Но когда я пытаюсь включить значение для столбца Identity (я не хочу этого делать), я получаю следующую ошибку, которая имеет смысл, поскольку это столбец идентификаторов, которому мы разрешаем автоматическое увеличение таблицы
"Невозможно вставить явное значение для столбца идентификаторов в таблице 'MY_TABLE', когда для IDENTITY_INSERT установлено значение OFF."
Когда я запускаю запрос в SQL SERVER, таблица заполняет значение для самого столбца идентификаторов и автоматически увеличивает его, но по какой-то причине, когда я запускаю оператор в Python, он не делает этого и пытается передать NULL
Версия SQL SERVER: 10.50.6560.0