MySQL Constraints

Constraints คือ ข้อกำหนด (เงื่อนไข) ที่ใช้กับตารางในฐานข้อมูล MySQL มีหน้าที่ควบคุมความถูกต้อง ความสอดคล้อง และความสมบูรณ์ของข้อมูล ถูกกำหนดไว้ในตอน สร้างตาราง (CREATE TABLE) หรือ ปรับแก้ตาราง (ALTER TABLE)

ประเภทของ Constraints ที่ใช้บ่อยใน MySQL

1. PRIMARY KEY

  • ใช้ระบุคอลัมน์หลักของตาราง
  • ต้องมีค่า ไม่ซ้ำ (Unique) และ ไม่เป็น NULL
  • แต่ละตารางมีได้เพียง หนึ่ง PRIMARY KEY

ตัวอย่าง

customer_id INT PRIMARY KEY

2. NOT NULL

  • บังคับให้คอลัมน์นั้น ต้องมีค่า
  • ห้ามเป็นค่าว่าง (NULL)

ตัวอย่าง

first_name VARCHAR(50) NOT NULL

3. UNIQUE

  • บังคับให้ข้อมูลในคอลัมน์ ห้ามซ้ำ
  • ต่างจาก PRIMARY KEY ตรงที่สามารถมีหลาย UNIQUE ในตารางเดียวได้

ตัวอย่าง

email VARCHAR(100) UNIQUE

4. DEFAULT

  • กำหนดค่าพื้นฐานให้คอลัมน์ ถ้าไม่มีการกรอกค่าใด ๆ

ตัวอย่าง

status VARCHAR(20) DEFAULT 'active'

5. AUTO_INCREMENT

  • ใช้กับคอลัมน์ที่เป็นตัวเลข (INT) เพื่อให้เลขเพิ่มอัตโนมัติ
  • มักใช้คู่กับ PRIMARY KEY

ตัวอย่าง

order_id INT AUTO_INCREMENT PRIMARY KEY

6. FOREIGN KEY

  • สร้างความสัมพันธ์ (relationship) ระหว่างตาราง
  • เชื่อมคอลัมน์ในตารางหนึ่งกับคอลัมน์หลักของอีกตารางหนึ่ง
  • รักษาความถูกต้องของข้อมูล (referential integrity)

ตัวอย่าง

customer_id INT,
FOREIGN KEY (customer_id) REFERENCES customer(customer_id)

ตัวอย่างการใช้งาน Constraints

SQL
CREATE TABLE employee (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100) NOT NULL,
  email VARCHAR(100) UNIQUE,
  department_id INT,
  hired_at DATE DEFAULT CURRENT_DATE,
  FOREIGN KEY (department_id) REFERENCES department(id)
);
แชร์เรื่องนี้