Page 1 sur 1

Est-il possible d'insérer une colonne calculé dans ma table

Posté : 21 août 2017, 18:08
par raoul
bonjour,
j'ai crée une table, où j'ai mis plusieurs colonnes.
J'ai une colonne "references" où, i y a les informations suivante : 19800323;
Mais j'aimerais rajouté une colonne "années" qui serait calculé à la suite de la colonne "references" pour récupérer seulement les 4 premiers chiffres.

Merci de votre aide.

Re: Est-il possible d'insérer une colonne calculé dans ma table

Posté : 21 août 2017, 18:25
par @rthur
Bonjour,

Pour réaliser ce que tu cherches à faire, tu peux regarder du côté des triggers :
- Doc : https://dev.mysql.com/doc/refman/5.7/en ... yntax.html
- Tuto : https://openclassrooms.com/courses/admi ... l/triggers

Après d'un point de vue personnel, j'ai une préférence pour conserver la logique de traitement dans mon code PHP c'est plus simple pour savoir quel code s'exécute quand, plutôt que d'aller vérifier les actions que pourraient faire par elle même la bdd...
Donc au moment de l'insertion ou de l'update de ton champ, tu as juste à faire le calcul, ou même à le déléguer à MySQL :
INSERT INTO table SET references='19800323', annees=SUBSTR(references, 0, 4);
Si tu ne peux pas changer tes requêtes, alors tu devras passer par des triggers.