Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Erstellen Sie eine berechnete Spalte basierend auf einer anderen Spalte in MySQL

Da Ihre formatierte Spalte von der ID-Spalte abhängt und von dieser ableitbar ist, verstößt Ihr Tabellendesign gegen 3NF .

Erstellen Sie entweder eine Ansicht, die Ihre abgeleitete Spalte enthält (siehe dazu sqlfiddle ). ):

CREATE VIEW myview AS
SELECT *, substring(cast(100000000 + id AS CHAR(9)), 2) AS formatted_id
FROM mytable

oder starten Sie Ihre automatische Erhöhung einfach bei 10000000 , dann ist sie immer 8-stellig:

ALTER TABLE mytable AUTO_INCREMENT = 10000000;