Maison > Article > base de données > Comment incrémenter automatiquement les clés non primaires dans MySQL InnoDB ?
MySQL InnoDB : auto-incrémentation des clés non primaires
Le moteur de stockage InnoDB de MySQL permet l'auto-incrémentation des valeurs pour les clés primaires. Cependant, l'incrémentation automatique des clés non primaires n'est pas directement prise en charge.
Question spécifique : structure de la table
Considérez la structure de table suivante pour "book_comments" :
book_id medium_int timestamp medium_int user_id medium_int vote_up small_int vote_down small_int comment text comment_id medium_int
L'incrémentation automatique des clés non primaires est-elle possible ?
Oui, il est possible d'incrémenter automatiquement une clé non primaire. Cependant, cela nécessite de créer un index sur la colonne à incrémenter automatiquement.
Solution recommandée
Malgré la possibilité d'auto-incrémenter des clés non primaires, la solution recommandée La solution consiste à faire de "comment_id" la clé primaire et à créer un index unique sur la combinaison de "book_id", "timestamp" et "user_id" à des fins d'intégrité des données.
Considérations supplémentaires
Les suggestions alternatives mentionnées dans la question présentent des inconvénients :
Par conséquent, la solution la plus efficace et la plus robuste consiste à suivre l'approche recommandée consistant à utiliser "comment_id" comme clé primaire et à créer un index unique sur "book_id", "timestamp" et "user_id".
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!