Maison > base de données > tutoriel mysql > Comment concaténer une chaîne et un ID de clé primaire lors de l'insertion dans MySQL ?

Comment concaténer une chaîne et un ID de clé primaire lors de l'insertion dans MySQL ?

Susan Sarandon
Libérer: 2024-11-13 10:47:02
original
798 Les gens l'ont consulté

How to Concatenate a String and Primary Key ID During Insertion in MySQL?

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

L'insertion de données dans une table MySQL peut être simple, comme le démontre le code fourni. Cependant, si vous souhaitez créer des noms d'utilisateur en tant qu'« utilisateur » concaténés avec un ID de clé primaire auto-incrémental (utilisateur1, utilisateur2, utilisateur3, etc.), une approche directe nécessite une certaine réflexion.

Limitations de la concaténation :

  • Limitations AUTO_INCREMENT : La clé primaire n'est pas générée jusqu'après l'opération d'insertion, donc une approche de déclenchement ne peut pas attribuer la valeur concaténée lors de l'insertion initiale.

Approche alternative :

Pour résoudre cette limitation, vous peut effectuer les étapes suivantes :

  1. Insérer les données : Exécuter l'instruction INSERT comme fourni.
  2. Récupérer l'ID inséré : Utilisez la fonction mysqli_insert_id() pour récupérer l'ID généré automatiquement.
  3. Mettre à jour le nom d'utilisateur : Exécuter une instruction UPDATE pour concaténer la chaîne 'user' avec le récupéré ID :
$query = 'UPDATE `users` SET `username` = CONCAT("user", ?) WHERE `id` = ?';
$stmt = $mysqli->prepare($query);
$stmt->bind_param("ii", $id, $id);
$stmt->execute();
Copier après la connexion

Considérations pour les ID non AUTO_INCREMENT :

Si l'id_utilisateur n'est pas une valeur AUTO_INCREMENT, vous pouvez directement concaténer l'« utilisateur » chaîne et l'ID spécifié dans votre code PHP avant de le passer en paramètre dans l'insertion

Remarques supplémentaires :

  • L'utilisation des colonnes générées par MySQL 5.7 n'est pas une option dans ce cas, car elle entraîne une erreur due à l'auto- nature d'incrémentation de la clé primaire.
  • Cette approche en deux étapes garantit que le nom d'utilisateur est correctement mis à jour après la première insérer.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal