DELETE / TRUNCATE

, TRUNCATE and

Syntax

DELETE FROM table [WHERE conditions] [ORDER BY ...] [LIMIT count];
TRUNCATE TABLE table;

Parameters

ParametersDescriptionExamplesLevel
WHERE DELETE FROM logs WHERE created_at < '2025-01-01'; Common
LIMIT DELETE FROM logs WHERE level = 'debug' LIMIT 10000; Advanced
TRUNCATE () TRUNCATE TABLE tmp_data;
ORDER BY DELETE FROM logs ORDER BY created_at ASC LIMIT 1000; Advanced
JOIN DELETE o FROM orders o JOIN users u ON o.user_id = u.id WHERE u.status = -1; Advanced

Examples

DELETE FROM sessions
WHERE expire_at < NOW();

-- DELETE FROM operation_logs
WHERE created_at < '2025-01-01'
ORDER BY id ASC
LIMIT 10000;
-- affected rows = 0
, 1

TRUNCATE

-- DELETE, TRUNCATE TABLE temp_import_data;
TRUNCATE ID, DELETE

(Recommended)

--, UPDATE users
SET deleted_at = NOW(), status = -1
WHERE id = 1001; -- SELECT * FROM users WHERE deleted_at IS NULL;
Recommended,

Common Errors

ERROR 1175: You are using safe update modeDELETE WHERE.,
ERROR 1451: Cannot delete or update a parent row: a foreign key constraint fails., ON DELETE CASCADE

Tips

Related Commands