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

Eléphanteau du PHP | 19 Messages

21 août 2017, 18:08

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.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

21 août 2017, 18:25

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.
Quand tout le reste a échoué, lisez le mode d'emploi...