Maison > Article > base de données > A quoi sert l'auto-incrémentation MySQL ?
Dans la conception de tables de base de données, vous aurez du mal avec le choix de la « clé naturelle » et de la « clé de substitution ». Les clés naturelles sont plus compliquées à mettre en œuvre lorsque les données sont « supprimées en douceur ». Certaines clés naturelles sont causées par des valeurs de clé longues. ou des combinaisons de plusieurs colonnes. Elle ne convient pas comme clé primaire de table. Les deux clés de substitution les plus courantes sont l'incrémentation automatique et les colonnes d'identification globalement uniques (GUID). Ensuite, je vais vous parler de la clé d'auto-incrémentation.
MySQL utilise le champ numérique d'auto-incrémentation fourni par la base de données comme clé primaire d'auto-incrémentation.
Avantages :
(1) La base de données est automatiquement numérotée, rapide, grandit progressivement et est stockée dans l'ordre, ce qui est très bénéfique pour la récupération
(2) Type numérique, prend peu de place, est facile à trier et est pratique à transférer dans le programme (3) Si vous ajoutez des enregistrements via un système non système, vous ne le faites pas ; Vous n'avez pas besoin de spécifier ce champ et vous n'avez pas à vous soucier de la duplication des clés primaires. Après avoir parlé des avantages, parlons de ses défauts. En fait, ses défauts viennent de ses avantages.Inconvénients :
(1) En raison de la croissance automatique, il sera difficile d'insérer manuellement des enregistrements avec des identifiants spécifiés, en particulier lorsque le système est intégré à d'autres systèmes. Lorsque des données doivent être importées, il est difficile de garantir que les identifiants du système d'origine n'entreront pas en conflit avec les clés primaires (à condition que l'ancien système soit également numérique). Surtout lorsque le nouveau système est mis en ligne, les anciens et les nouveaux systèmes existent en parallèle et les bases de données sont hétérogènes. Lorsqu'une synchronisation bidirectionnelle est requise, l'auto-incrémentation de la clé primaire sera votre cauchemar (2 ; ) Dans le système Lors de l'intégration ou du basculement, si la clé primaire de l'ancien et du nouveau système est différente en type numérique, le type de données de la clé primaire sera modifié, ce qui entraînera également la modification d'autres tables associées aux clés étrangères, avec des conséquences tout aussi graves ; (3) Si le système est également numérique, afin de distinguer les anciennes et les nouvelles données lors de l'importation, vous souhaiterez peut-être ajouter un identifiant de caractère (tel que "o", ancien) avant le clé primaire des anciennes données pour indiquer qu'il s'agit de données anciennes, puis le chiffre à croissance automatique Un autre défi.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!