Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Crie uma coluna computada com base em outra coluna no MySQL


Como sua coluna formatada depende e é derivável da coluna id, seu design de tabela viola 3NF .

Ou crie uma visualização que tenha sua coluna derivada (veja isso em sqlfiddle ):
CREATE VIEW myview AS
SELECT *, substring(cast(100000000 + id AS CHAR(9)), 2) AS formatted_id
FROM mytable

ou apenas inicie seu incremento automático em 10000000 , então sempre terá 8 dígitos:
ALTER TABLE mytable AUTO_INCREMENT = 10000000;