ON DELETE
ConstraintSpecifies what happens to referencing rows when the referenced row is deleted.
Syntax
FOREIGN KEY (col) REFERENCES table(col) ON DELETE CASCADE|SET NULL|RESTRICT
Example
CREATE TABLE orders (
user_id INTEGER REFERENCES users(id)
ON DELETE CASCADE
);About SQL ON DELETE
The ON DELETE keyword belongs to the Constraint category of SQL statements. Specifies what happens to referencing rows when the referenced row is deleted. Understanding this command is essential for any developer working with relational databases like PostgreSQL, MySQL, SQLite, or SQL Server.
SQL (Structured Query Language) is the standard language for managing and querying relational databases. The ON DELETE statement is supported across all major database systems, though specific syntax may vary slightly between PostgreSQL, MySQL, MariaDB, Oracle, SQL Server, and SQLite. Always consult your database's documentation for vendor-specific features and limitations.
Best practices for using ON DELETE: always test queries on a development database before running them in production, use parameterized queries to prevent SQL injection, and leverage EXPLAIN to understand query performance. For complex queries, consider using CTEs (Common Table Expressions) to improve readability and maintainability.