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 CASCADEAdding Constraints
ALTER TABLE orders
ADD CONSTRAINT fk_user
FOREIGN KEY (user_id) REFERENCES users(id);