Bagaimana untuk Menambah Kekangan NOT NULL pada Lajur MySQL Sedia Ada?

Linda Hamilton
Lepaskan: 2024-11-05 18:18:02
asal
865 orang telah melayarinya

How to Add NOT NULL Constraints to Existing MySQL Columns?

Menetapkan NOT NULL Constraints untuk Lajur MySQL Sedia Ada

Menambah NOT NULL kekangan pada lajur sedia ada boleh menjadi keperluan biasa apabila memastikan integriti data. Mari kita terokai langkah-langkah yang terlibat dalam menangani isu ini.

Pertimbangkan kes jadual "Orang" dengan lajur berikut:

<code class="sql">P_Id (int)
LastName (varchar)
FirstName (varchar)</code>
Salin selepas log masuk

Walau bagaimanapun, lajur P_Id tidak mempunyai kekangan NOT NULL. Percubaan untuk menambah kekangan menggunakan pertanyaan seperti berikut telah mengakibatkan ralat sintaks:

<code class="sql">ALTER TABLE Person MODIFY (P_Id NOT NULL);
ALTER TABLE Person ADD CONSTRAINT NOT NULL NOT NULL (P_Id);</code>
Salin selepas log masuk

Untuk menambah kekangan NOT NULL dengan berkesan, gunakan ALTER JADUAL... UBAHSUAI... pertanyaan yang merangkumi lajur penuh takrifan. Contoh pertanyaan ialah:

<code class="sql">ALTER TABLE Person MODIFY P_Id INT(11) NOT NULL;</code>
Salin selepas log masuk

Awas: Pastikan keseluruhan takrifan lajur ditentukan dalam pertanyaan UBAHSUAI, termasuk sebarang nilai lalai atau ulasan lajur. Peninggalan elemen ini akan membawa kepada pengalihan keluar elemen ini daripada lajur.

Untuk keselamatan sepenuhnya, ekstrak definisi lajur menggunakan pertanyaan SHOW CREATE TABLE YourTable. Ubah suai definisi untuk memasukkan kekangan NOT NULL, dan kemudian tampalkannya ke dalam ALTER JADUAL... UBAHSUAI... pertanyaan. Pendekatan ini meminimumkan risiko kehilangan sifat lajur yang penting.

Atas ialah kandungan terperinci Bagaimana untuk Menambah Kekangan NOT NULL pada Lajur MySQL Sedia Ada?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!