Take the following scenario, where there is no explicit index to drop: CREATE TABLE t1( a INTEGER primary key, b INTEGER, c INTEGER, UNIQUE(b,c) ); ALTER TABLE t1 DROP COLUMN c; If the DROP COLUMN fails instead of removing the automatic index, then the caller has no option but to re-create the table completely. This reduces the useful scope of DROP COLUMN.