SyntaxStudy
Sign Up
MySQL Intermediate 9 min read

Constraints

MySQL Constraints

Constraints enforce data integrity rules on columns.

Types of Constraints

-- PRIMARY KEY
id INT AUTO_INCREMENT PRIMARY KEY

-- UNIQUE
email VARCHAR(100) UNIQUE

-- NOT NULL
username VARCHAR(50) NOT NULL

-- DEFAULT
status ENUM('active','inactive') DEFAULT 'active'

-- CHECK (MySQL 8.0+)
age INT CHECK (age >= 0 AND age <= 120)

-- FOREIGN KEY
category_id INT,
FOREIGN KEY (category_id) REFERENCES categories(id)
    ON DELETE CASCADE
    ON UPDATE CASCADE

Adding Constraints

ALTER TABLE orders
ADD CONSTRAINT fk_user
FOREIGN KEY (user_id) REFERENCES users(id);
Pro Tip

ON DELETE CASCADE auto-deletes child rows when the parent row is deleted.