Jak naprawić błąd „Nie można wstawić jawnej wartości dla kolumny tożsamości w tabeli, gdy parametr IDENTITY_INSERT jest ustawiony na WYŁĄCZONY”?



Wypróbuj Nasz Instrument Do Eliminowania Problemów

Kolumna klucza podstawowego jest często ustawiana na automatyczne zwiększanie wartości podczas konstruowania bazy danych SQL Server. Aby to zrobić, ustawiono limit IDENTITY dla kolumny klucza podstawowego. Początkowa lokalizacja i krok przyrostu są przenoszone do kolumny IDENTITY jako parametry. Następnie za każdym razem, gdy dodawany jest nowy rekord, a wstawianie tożsamości jest wyłączone, wartość kolumny TOŻSAMOŚĆ jest zwiększana o predefiniowany krok, zwykle o liczbę. Ponadto właściwość IDENTITY INSERT jest ustawiona na ON tylko dla jednej tabeli w jednej sesji.



W tym artykule omówimy błąd „Nie można wstawić jawnej wartości dla kolumny tożsamości w tabeli

kiedy IDENTITY_INSERT jest ustawiony na OFF ” jak pokazano niżej.



Wyłączanie opcji „TOŻSAMOŚĆ INSERT” i wstawianie danych bez „PRIMARY KEY ID” do instrukcji wstawiania



Błąd pojawia się, gdy użytkownik ustawił parametr „identity_insert” na „OFF”. Następnie próbuje jawnie wstawić dane do kolumny klucza podstawowego tabeli. Można to wyjaśnić na poniższym przykładzie.

Tworzenie baz danych i tabel:

Najpierw utwórz bazę danych o nazwie „appuals”.

Stworzenie bazy danych o nazwie „appuals”.



Utwórz tabelę o nazwie „osoba”, używając następującego kodu. Tabela zbudowana przy użyciu pliku „PODSTAWOWA TOŻSAMOŚĆ KLUCZA”

CREATE TABLE person (ID INT IDENTITY (1, 1), first_name VARCHAR (MAX), last_name VARCHAR (MAX))

Tworzenie tabeli o nazwie „osoba”

Składnia ustawienia „wstaw_tożsamości wyłączone | na':

Plik “Ustaw tożsamość_insert off | na' pomoże nam rozwiązać ten błąd. Prawidłowa składnia tej instrukcji jest następująca.

SET IDENTITY_INSERT. .
NA

Natomiast pierwszym argumentem jest nazwa bazy danych, w której znajduje się tabela. Drugi argument pokazuje schemat, do którego należy ta tabela, której wartość tożsamości ma zostać ustawiona NA lub POZA . Trzeci argument

to tabela z kolumną tożsamości.

Zasadniczo istnieją dwa różne sposoby wprowadzania danych do tabeli bez błędów. Są one uważane za rozwiązanie tego błędu i zostały omówione poniżej.

Błąd 1: Wyłącz parametr identity_insert

W pierwszym przypadku wstawimy dane do tabeli z rozszerzeniem „WKŁADKA TOŻSAMOŚCI” Ustawić 'POZA' . Tak więc, jeśli identyfikator jest obecny w instrukcji INSERT, zostanie wyświetlony błąd „Nie można wstawić jawnej wartości dla kolumny tożsamości w tabeli„ osoba ”, gdy parametr IDENTITY_INSERT jest ustawiony na WYŁ.”.

Wykonaj następujący kod na karcie zapytania.

wyłączyć osobę identity_insert; wstaw do wartości person (ID, first_name, last_name) (3, 'Sadia