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

วิธีตั้งค่า Default ให้คอลัมน์ใน MySQL

การใช้คำสั่ง DEFAULT

เพื่อกำหนดค่าเริ่มต้นให้คอลัมน์ ให้ใช้คีย์เวิร์ด DEFAULT ตามรูปแบบ:

columnName dataType DEFAULT 'defaultValue'

ตัวอย่าง: เพิ่มคอลัมน์พร้อมค่า Default

สร้างตาราง DemoTable758 ก่อน:

mysql> create table DemoTable758 (
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    FirstName varchar(100) );
Query OK, 0 rows affected (0.66 sec)

เพิ่มคอลัมน์ Colors เป็น ENUM พร้อมค่า Default เป็น 'YELLOW':

mysql> alter table DemoTable758 
add column Colors ENUM('RED','GREEN','BLUE','ORANGE','YELLOW') DEFAULT 'YELLOW';
Query OK, 0 rows affected (0.44 sec)

ตรวจสอบโครงสร้างตาราง

mysql> desc DemoTable758;

ผลลัพธ์แสดงค่า Default ของคอลัมน์ Colors คือ YELLOW:

+-----------+----------------------------------------------+------+-----+---------+----------------+
| Field     | Type                                         | Null | Key | Default | Extra          |
+-----------+----------------------------------------------+------+-----+---------+----------------+
| Id        | int(11)                                      | NO   | PRI | NULL    | auto_increment |
| FirstName | varchar(100)                                 | YES  |     | NULL    |                |
| Colors    | enum('RED','GREEN','BLUE','ORANGE','YELLOW') | YES  |     | YELLOW  |                |
+-----------+----------------------------------------------+------+-----+---------+----------------+

ทดสอบการทำงานของ Default

แทรกข้อมูลโดยไม่ระบุค่า Colors สำหรับแถวแรก:

mysql> insert into DemoTable758(FirstName) values('John');
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable758(FirstName,Colors) values('Carol','RED');
Query OK, 1 row affected (0.17 sec)

แสดงผลข้อมูล:

mysql> select * from DemoTable758;
+----+-----------+--------+
| Id | FirstName | Colors |
+----+-----------+--------+
| 1  | John      | YELLOW |
| 2  | Carol     | RED    |
+----+-----------+--------+

สรุป

  • ใช้ DEFAULT 'value' เมื่อสร้างหรือแก้ไขคอลัมน์
  • ค่า Default จะถูกใช้โดยอัตโนมัติเมื่อไม่ระบุค่าตอน INSERT
  • เหมาะสำหรับค่าที่ซ้ำบ่อย เช่น สถานะเริ่มต้น, รหัสประเทศ, หรือสีที่ใช้บ่อย