Bạn không thể làm điều đó trong một cột, trừ khi bạn chỉ định BEFORE INSERT
kích hoạt mà sẽ điền trước nó, hoàn toàn phụ thuộc vào bạn để tránh bất kỳ loại điều kiện cuộc đua nào mà auto_increment tự xử lý. auto_increment chỉ có thể được sử dụng trên cột số nguyên hoặc dấu phẩy động.
Theo ý kiến của tôi, việc 'yêu cầu' PK phải có một định dạng cụ thể và 'chỉ để nó tự động tăng lên' là loại trừ lẫn nhau.
Điều đó không có nghĩa là bạn không thể 'giả mạo' nó trên các lựa chọn:
SELECT CONCAT('ABC1',LPAD(id,5,'0')) FROM tablename;