Maison > Article > base de données > Une colonne de clé non primaire dans MySQL InnoDB peut-elle être auto-incrémentée ?
Il est possible d'incrémenter automatiquement une colonne de clé non primaire dans MySQL InnoDB. Ceci peut être réalisé en créant un index sur la colonne.
Dans l'exemple donné, pour incrémenter automatiquement la colonne comment_id dans la table book_comments, suivez ces étapes :
<code class="sql">CREATE TABLE book_comments ( book_id mediumint, timestamp mediumint, user_id mediumint, vote_up smallint, vote_down smallint, comment text, comment_id mediumint, PRIMARY KEY (book_id, timestamp, user_id), INDEX id (comment_id) );</code>
Ajout du INDEX sur comment_id active le comportement d'auto-incrémentation tout en garantissant que l'index correspondant est maintenu par InnoDB. Le nom de l'index d'identification peut être personnalisé selon les besoins.
Pour la table book_comments_votes, il est recommandé d'utiliser l'intégralité de la clé primaire de book_comments comme clé étrangère pour renforcer l'intégrité référentielle et éviter les doublons.
Alors faire de comment_id la clé primaire et renforcer l'intégrité via un index unique sur book_id, timestamp et user_id est conceptuellement viable, il est généralement considéré comme une bonne pratique d'avoir une clé primaire unique pour chaque table. Cela garantit une récupération et une maintenance cohérentes et fiables des données.
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!