Nemůžete to udělat v jednom sloupci, pokud nezadáte BEFORE INSERT
trigger, který by jej předvyplnil, takže je zcela na vás, abyste se vyhnuli jakémukoli druhu závodu, který auto_increment zvládá sám. auto_increment lze použít pouze pro celočíselné sloupce nebo sloupce s plovoucí desetinnou čárkou.
Podle mého názoru se „vyžadování“ PK, které má specifický formát, a „pouze automatické zvýšení“ vzájemně vylučují.
To neznamená, že to nemůžete „předstírat“ na výběrech:
SELECT CONCAT('ABC1',LPAD(id,5,'0')) FROM tablename;