Vì cột được định dạng của bạn phụ thuộc vào và có thể lấy được từ cột id, nên thiết kế bảng của bạn vi phạm 3NF .
Tạo chế độ xem có cột bắt nguồn của bạn trong đó (xem điều này trong sqlfiddle ):
CREATE VIEW myview AS
SELECT *, substring(cast(100000000 + id AS CHAR(9)), 2) AS formatted_id
FROM mytable
hoặc chỉ bắt đầu tăng tự động của bạn ở 10000000
, thì nó sẽ luôn có 8 chữ số:
ALTER TABLE mytable AUTO_INCREMENT = 10000000;