Rumah >pangkalan data >tutorial mysql >IDENTITY_INSERT dalam SQL Server 2008: Bagaimana untuk Mendayakan, Lumpuhkan dan Selesaikan Masalah Ralat?
Menguasai IDENTITY_INSERT dalam SQL Server 2008
Panduan ini menjelaskan penggunaan IDENTITY_INSERT
dalam SQL Server 2008, menangani isu biasa dan menyediakan penyelesaian.
Masalah: Masukkan Ralat dengan IDENTITY_INSERT OFF
TetapanSQL Server IDENTITY_INSERT
menentukan sama ada anda boleh menetapkan nilai secara manual kepada lajur identiti semasa sisipan. Apabila IDENTITY_INSERT
ialah OFF
(lalai), lajur identiti meningkat secara automatik, menghalang penetapan nilai manual. Percubaan untuk memasukkan baris dengan nilai yang ditentukan untuk lajur identiti akan mengakibatkan ralat.
Penyelesaian: Mendayakan dan Melumpuhkan IDENTITY_INSERT
Walaupun SQL Server Management Studio (SSMS) boleh digunakan, menggunakan arahan T-SQL secara langsung dalam konsol pangkalan data atau editor pertanyaan adalah lebih cekap.
Kesilapan Biasa: Terlupa MEMATIKAN IDENTITY_INSERT
Ingat: Selepas mendayakan IDENTITY_INSERT
menggunakan SET IDENTITY_INSERT ... ON
, sentiasa lumpuhkannya dengan SET IDENTITY_INSERT ... OFF
. Kegagalan berbuat demikian membenarkan penetapan nilai manual untuk sisipan berikutnya, yang berpotensi menyebabkan konflik jika aplikasi anda bergantung pada gelagat peningkatan automatik.
Sintaks T-SQL yang betul
Berikut ialah sintaks yang betul:
Dayakan:
<code class="language-sql">SET IDENTITY_INSERT YourTableWithIdentityColumn ON;</code>
Lumpuhkan:
<code class="language-sql">SET IDENTITY_INSERT YourTableWithIdentityColumn OFF;</code>
Memahami Mesej Ralat
Ralat "Tidak boleh memasukkan nilai eksplisit untuk lajur identiti dalam jadual 'YourTableWithIdentityColumn' apabila IDENTITY_INSERT ditetapkan kepada OFF" menunjukkan percubaan untuk memasukkan nilai yang telah ditetapkan ke dalam lajur identiti semasa IDENTITY_INSERT
dilumpuhkan.
Kejelasan yang dipertingkatkan ini seharusnya membantu pengguna mengelakkan perangkap biasa apabila bekerja dengan IDENTITY_INSERT
. Sentiasa ingat untuk mematikannya selepas digunakan.
Atas ialah kandungan terperinci IDENTITY_INSERT dalam SQL Server 2008: Bagaimana untuk Mendayakan, Lumpuhkan dan Selesaikan Masalah Ralat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!