Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menambah Kekangan NOT NULL pada Lajur MySQL Sedia Ada?

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

Linda Hamilton
Linda Hamiltonasal
2024-11-05 18:18:02939semak imbas

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>

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>

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>

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!

Kenyataan:
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