Remediere: Nu se poate insera valoarea explicită pentru coloana de identitate în tabel când IDENTITATE_INSERT este setată la OPRIT



Actualizat în aprilie 2024: Nu mai primiți mesaje de eroare și încetiniți sistemul dvs. cu instrumentul nostru de optimizare. Ia-l acum la acest link
  1. Descărcați și instalați instrumentul de reparare aici.
  2. Lasă-l să-ți scaneze computerul.
  3. Instrumentul va face atunci reparați computerul.

Când încercați să inserați într-un tabel cu o coloană de identitate, este posibil să primiți un mesaj de eroare care să indice că nu se poate introduce o valoare explicită pentru o coloană de identitate în tabelul „Tabel” atunci când IDENTITATE_INSERT este OPRIT. „Acesta nu este sfârșitul lumii și este de fapt destul de ușor să te deplasezi.

Motivul acestei erori este atunci când încercați să spuneți SQL Server care ar trebui să fie valoarea de identificare pentru un rând dintr-un tabel. Dacă tabelul dvs. are o coloană ID, SQL Server dorește să genereze automat acea valoare ID pentru dvs. Eroarea este practic „Hei, trebuie să vă generez un ID ... nu-mi spuneți ce este!”

Doar un singur tabel dintr-o sesiune poate avea IDENTITY_INSERT ON la un moment dat. Dacă această proprietate este deja activată pentru un tabel și SET IDENTITY_INSERT ON este eliberat pentru un alt tabel, SQL Server returnează un mesaj de eroare care indică faptul că SET IDENTITY_INSERT este deja activat și raportează tabelul setat la ON.

Dacă valoarea inserată este mai mare decât valoarea curentă a identificatorului pentru tabel, SQL Server utilizează automat valoarea nou introdusă ca valoare de identificare curentă.

SET IDENTITY_INSERT este specificat în timpul rulării sau în timpul rulării, nu în timpul scanării.

Crearea de baze de date și tabele

Mai întâi, creați o bază de date numită.
Creați un tabel numit „Persoană” folosind următorul cod. Tabel creat cu „IDENTITATEA CHEIEI PRIMARE”

Sintaxa pentru setarea „identity_insert off | desigur"

„Dezactivați identitatea_inserare | on ”ne ajută să remediem această eroare. Sintaxa corectă pentru această afirmație este următoarea.



Actualizare aprilie 2024:

Acum puteți preveni problemele computerului utilizând acest instrument, cum ar fi protejarea împotriva pierderii fișierelor și a malware-ului. În plus, este o modalitate excelentă de a vă optimiza computerul pentru performanțe maxime. Programul remediază cu ușurință erorile obișnuite care ar putea apărea pe sistemele Windows - nu este nevoie de ore întregi de depanare atunci când aveți soluția perfectă la îndemână:

Descarca



SET IDENTITY_INSERT. . {OPRIT | SIGUR }
Întrucât primul argument este numele bazei de date în care se află tabelul. Al doilea argument care specifică este schema căreia îi aparține această tabelă, a cărei valoare ID ar trebui să fie setată la ON sau OFF. Al treilea argument este un tabel cu o coloană de identitate.

Există două moduri principale de a insera date într-un tabel fără erori. Acestea sunt considerate o soluție la această eroare și sunt descrise mai jos.

Spuneți SQL Server care ar trebui să fie valoarea identificatorului

Dacă doriți să specificați valori ID pentru înregistrările pe care le introduceți, trebuie să rulați o mică comandă SQL pentru a activa inserarea ID-ului înainte de a rula instrucțiunea INSERT. Inserturile de identitate vă permit să completați valoarea unei coloane de identitate cu o anumită valoare.

Permiteți SQL Server să genereze ID

Dacă nu vă pasă de valorile de identitate pentru aceste înregistrări, ar trebui să lăsați SQL Server să genereze doar valorile de identitate pentru dvs. Pentru a face acest lucru, pur și simplu introduceți coloanele tabelului și omiteți coloana de identitate.



Sfat expert: Acest instrument de reparare scanează arhivele și înlocuiește fișierele corupte sau lipsă dacă niciuna dintre aceste metode nu a funcționat. Funcționează bine în majoritatea cazurilor în care problema se datorează corupției sistemului. Acest instrument vă va optimiza, de asemenea, sistemul pentru a maximiza performanța. Poate fi descărcat de Faceți clic aici