Rumah > pangkalan data > tutorial mysql > Mengapa Saya Mendapat Ralat 'Tidak Dapat Memasukkan Nilai NULL ke dalam 'id' Lajur dalam Pelayan SQL?

Mengapa Saya Mendapat Ralat 'Tidak Dapat Memasukkan Nilai NULL ke dalam 'id' Lajur dalam Pelayan SQL?

Barbara Streisand
Lepaskan: 2025-01-24 11:02:13
asal
585 orang telah melayarinya

Why Am I Getting the

SQL Server's "Tidak dapat memasukkan NULL ke ralat lajur 'ID'": Panduan Komprehensif

Memasukkan data ke dalam pangkalan data SQL Server memerlukan menyediakan nilai untuk semua lajur, terutama kunci utama. Jika lajur ditetapkan sebagai

dan tidak mempunyai nilai lalai, cuba memasukkan

akan mencetuskan ralat. NOT NULL NULL

senario: memasukkan ke dalam jadual peranan

Pertimbangkan pernyataan SQL ini:

Ini cuba menambah dua baris ke jadual
<code class="language-sql">INSERT INTO role (name, created) VALUES ('Content Coordinator', GETDATE()), ('Content Viewer', GETDATE())</code>
Salin selepas log masuk
(mengandungi

dan role lajur - yang terakhir dengan cap waktu lalai). Lajur utama utama, name, ditinggalkan. created id

Pecahan ralat

SQL Server menuntut nilai utama utama yang jelas atau penjanaan automatik. Oleh kerana

tidak ditentukan dan tidak mempunyai lalai, SQL Server menyerahkannya

. Walau bagaimanapun, id ditakrifkan sebagai NULL, mencegah id penyisipan. Mesej ralat yang dihasilkan ialah: NOT NULL NULL

<code>Msg 515, Level 16, State 2, Line 1
Cannot insert the value NULL into column 'id', table 'CMT_DEV.dbo.role'; column does not allow nulls. INSERT fails.
The statement has been terminated.</code>
Salin selepas log masuk
Penyelesaian: Auto-Increment to the Rescue

Penyelesaiannya adalah untuk memastikan

sentiasa menerima nilai yang sah. Kaedah yang paling biasa adalah menggunakan auto-increment:

id Menggunakan SQL Server Management Studio (SSMS):

Buka jadual
    dalam mod reka bentuk.
  1. role Pilih lajur
  2. dan akses sifat lajurnya.
  3. id di bawah "spesifikasi identiti," set "adalah identiti" kepada "ya" dan "kenaikan identiti" kepada 1.
  4. Konfigurasi ini
untuk meningkatkan secara automatik untuk setiap baris baru, menghapuskan spesifikasi utama utama manual.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Tidak Dapat Memasukkan Nilai NULL ke dalam 'id' Lajur dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan