Mysql
 sql >> Base de données >  >> RDS >> Mysql

Concaténer une chaîne et un identifiant de clé primaire lors de l'insertion

Si user_id est une clé primaire AUTO_INCREMENT, vous ne pouvez pas le faire avec une seule instruction, même si vous utilisez un déclencheur.

Le problème est que la valeur AUTO_INCREMENT n'est générée qu'après le BEFORE INSERT le déclencheur s'exécute, mais vous ne pouvez pas modifier le username dans le AFTER INSERT déclencheur.

Il vous suffit donc de faire le INSERT , puis faites immédiatement une UPDATE .

Si user_id n'est pas un AUTO_INCREMENT, mais c'est plutôt quelque chose que vous spécifiez vous-même, alors c'est facile, il vous suffit de faire la concaténation dans votre code PHP avant de passer les valeurs en paramètres.

Mise à jour :vous ne pouvez pas non plus le faire avec les colonnes générées par MySQL 5.7. Il en résulte cette erreur lorsque vous essayez de créer la table :