คุณสามารถเพิ่มคอลัมน์ที่ไม่ใช่ค่าว่างได้ในขณะที่สร้างตารางหรือคุณสามารถใช้สำหรับตารางที่มีอยู่ได้
กรณีที่ 1 − เพิ่มคอลัมน์ที่ไม่เป็นค่าว่างในขณะที่สร้างตาราง ไวยากรณ์มีดังนี้
สร้างตาราง yourTableName( yourColumnName1 dataType NOT NULL, yourColumnName2 dataType . . . N);
แบบสอบถามเพื่อสร้างตารางมีดังนี้
mysql> สร้างตาราง NotNullAtCreationOfTable -> ( -> Id int ไม่เป็น null -> Name varchar(100) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.60 วินาที)
ในตารางด้านบน เราได้ประกาศ Id เป็นประเภท int ที่ไม่มีค่า NULL หากคุณใส่ค่า NULL คุณจะได้รับข้อผิดพลาด
ข้อผิดพลาดมีดังนี้
mysql> แทรกลงในค่า NotNullAtCreationOfTable (NULL,'John');ข้อผิดพลาด 1048 (23000):คอลัมน์ 'Id' ไม่สามารถเป็นค่าว่างได้
แทรกค่าอื่นที่ไม่ใช่ NULL ก็น่าจะพอรับได้
mysql> แทรกลงในค่า NotNullAtCreationOfTable (1,'Carol'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที)
แสดงบันทึกจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้
mysql> เลือก *จาก NotNullAtCreationOfTable;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+----+-------+| รหัส | ชื่อ |+---+-------+| 1 | Carol |+----+------- +1 แถวในชุด (0.00 วินาที)กรณีที่ 2 − เพิ่มคอลัมน์ที่ไม่เป็นค่าว่างในตารางที่มีอยู่ ไวยากรณ์มีดังนี้
เปลี่ยนตาราง yourTableName เพิ่ม yourColumnName NOT NULL
แบบสอบถามเพื่อสร้างตารางมีดังนี้
mysql> สร้างตาราง AddNotNull -> ( -> Id int, -> Name varchar(100) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.43 วินาที)
นี่คือการสืบค้นข้อมูลเพื่อเพิ่มคอลัมน์ที่ไม่เป็นค่าว่างในตารางที่มีอยู่โดยใช้คำสั่ง alter
แบบสอบถามเพื่อเปลี่ยนคอลัมน์เป็นคอลัมน์ไม่ว่างมีดังต่อไปนี้ ต่อไปนี้เราจะเพิ่มคอลัมน์อายุซึ่งมีข้อจำกัดไม่เป็นโมฆะ
mysql> แก้ไขตาราง AddNotNull เพิ่ม Age int not null; Query OK, 0 แถวได้รับผลกระทบ (0.44 วินาที) ระเบียน:0 รายการซ้ำ:0 คำเตือน:0
ตอนนี้คุณสามารถตรวจสอบคำอธิบายของตารางโดยใช้คำสั่ง desc แบบสอบถามมีดังนี้
mysql> อธิบาย AddNotNull;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+-------+--------------+------+----+---------+ --------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-------+--------------+------+ -----+---------+- ------+| รหัส | int(11) | ใช่ | | NULL | || ชื่อ | varchar(100) | ใช่ | | NULL | || อายุ | int(11) | ไม่ | | NULL | |+-------+--------------+------+----+---------+-- -----+3 แถวในชุด (0.08 วินาที)ให้เราลองใส่ค่า NULL ลงในคอลัมน์ Age หากคุณจะลองใส่ค่า NULL ลงในคอลัมน์ Age คุณจะได้รับข้อผิดพลาด
แบบสอบถามที่จะแทรกบันทึกมีดังนี้
mysql> แทรกลงในค่า AddNotNull (1,'John', NULL);ข้อผิดพลาด 1048 (23000):คอลัมน์ 'Age' ไม่สามารถเป็นค่าว่างได้
ตอนนี้แทรกระเบียนอื่น นั่นจะไม่ทำให้เกิดข้อผิดพลาด
mysql> แทรกลงในค่า AddNotNull (NULL, NULL, 23); เคียวรีตกลง ได้รับผลกระทบ 1 แถว (0.22 วินาที)
ตอนนี้คุณสามารถแสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้
mysql> เลือก *จาก AddNotNull;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+------+------+----+| รหัส | ชื่อ | อายุ |+------+------+----+| NULL | NULL | 23 |+------+------+----+1 แถวในชุด (0.00 วินาที)