Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan Ralat 'Tidak Dapat Memasukkan Nilai Eksplisit untuk Lajur Identiti'?
Menyelesaikan ralat "Tidak dapat memasukkan nilai eksplisit untuk lajur identiti"
Apabila anda menyisipkan rekod ke dalam jadual yang mengandungi lajur identiti (seperti kunci utama auto-naik), pastikan anda membenarkan pangkalan data menjana nilai secara automatik untuk lajur ini. Jika anda cuba menentukan nilai secara manual untuk lajur identiti apabila sifat IDENTITY_INSERT ditetapkan kepada MATI, ralat berlaku.
Penyelesaian
Untuk menyelesaikan isu ini, anda perlu menetapkan IDENTITY_INSERT kepada HIDUP sebelum memasukkan rekod:
<code class="language-sql">SET IDENTITY_INSERT 表名 ON</code>
Ini akan membolehkan anda memasukkan nilai identiti anda sendiri yang ditentukan. Ingat untuk tetapkan IDENTITY_INSERT kembali kepada MATI selepas memasukkan untuk mengelakkan masalah akan datang:
<code class="language-sql">SET IDENTITY_INSERT 表名 OFF</code>
Pernyataan sisipan yang diubah suai
Sekarang IDENTITY_INSERT didayakan, anda boleh memasukkan rekod seperti yang dijangkakan:
<code class="language-sql">SET IDENTITY_INSERT 表名 ON INSERT INTO 表名(OperationID, OpDescription, FilterID) VALUES (20, 'Hierachy Update', 1) SET IDENTITY_INSERT 表名 OFF</code>
Dengan langkah ini, anda boleh memasukkan rekod ke dalam jadual yang mengandungi lajur identiti tanpa mencetuskan ralat "Tidak boleh memasukkan nilai eksplisit untuk lajur identiti".
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'Tidak Dapat Memasukkan Nilai Eksplisit untuk Lajur Identiti'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!