Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ตรวจสอบว่าเขตข้อมูลของตารางไม่ได้ตั้งค่าคุณสมบัติ NULL ใน SQL หรือไม่


ในการตรวจสอบว่าเขตข้อมูลของตารางมีคุณสมบัติ NOT NULL หรือไม่ คุณสามารถใช้รูปแบบใดก็ได้จากสองรูปแบบ ไวยากรณ์แรกมีดังนี้ −

desc yourTableName;

ต่อไปนี้เป็นรูปแบบที่สอง -

select column_name, is_nullable from information_schema.columns โดยที่ table_schema ='yourDatabaseName' และ table_name ='yourTableName';

เรามาดูตัวอย่างและสร้างตารางกันก่อน −

mysql> สร้างตาราง DemoTable( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(40), StudentAge int NOT NULL, IsActiveStudent ENUM('ACTIVE",INACTIVE') NOT NULL, StudentCountryName varchar(40)); แบบสอบถามตกลง , ได้รับผลกระทบ 0 แถว (1.53 วินาที)

ไวยากรณ์แรกมีดังต่อไปนี้เพื่อตรวจสอบว่าเขตข้อมูลของตารางมีชุดคุณสมบัติ NOT NULL หรือไม่ -

mysql> อธิบาย DemoTable;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+--------------------------+------------------------- --------+-----+---------+----------------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+--------------------------+-------------------------- +------+ -----+---------+----------------+| รหัสนักศึกษา | int(11) | ไม่ | PRI | NULL | auto_increment || ชื่อนักเรียน | varchar(40) | ใช่ | | NULL | || StudentAge | int(11) | ไม่ | | NULL | || IsActiveStudent | enum('ACTIVE",INACTIVE') | NO | | NULL | || StudentCountryName | varchar(40) | ใช่ | | NULL | |+------------------- ----------------------------+------+-------------+------- -+----------------+5 แถวในชุด (0.00 วินาที)

ไวยากรณ์ที่สองมีดังต่อไปนี้เพื่อตรวจสอบว่าเขตข้อมูลของตารางมีชุดคุณสมบัติ NOT NULL หรือไม่ -

mysql> เลือก column_name, is_nullable จาก information_schema.columns โดยที่ table_schema ='web' และ table_name ='DemoTable';

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+--------------------+-------------+| COLUMN_NAME | IS_NULLABLE |+--------------------+-------------+| รหัสนักศึกษา | ไม่ || ชื่อนักเรียน | ใช่ || StudentAge | ไม่ || IsActiveStudent | ไม่ || นักเรียนชื่อประเทศ | ใช่ |+--------------------+-------------+5 แถวในชุด (0.00 วินาที)