Comment insérer des données avec des colonnes (champs) à incrémentation automatique dans MySQL ?
P粉465287592
2023-08-29 11:47:56
<p>J'ai créé une table avec une clé primaire et activé <code>AUTO_INCRMENT</code>:</p>
<pre class="brush:php;toolbar:false;">CRÉER UNE TABLE SI N'EXISTE PAS test.authors (
hostcheck_id INT CLÉ PRIMAIRE AUTO_INCREMENT,
instance_id INT,
host_object_id INT,
check_type INT,
is_raw_check INT,
current_check_attempt INT,
max_check_attempts INT,
état INT,
type_état INT,
start_time dateheure,
start_time_usec INT,
end_time dateheure,
end_time_usec INT,
command_object_id INT,
command_args VARCHAR(25),
ligne_de-commande VARCHAR(100),
délai d'attente entier,
early_timeout INT,
heure_exécution DEC(18,5),
latence DEC(18,3),
code_retour INT,
sortie VARCHAR(50),
sortie_longue VARCHAR(50),
données de performances VARCHAR(50)
);</pré>
<p>Ensuite, avec la requête suivante, j'ai essayé d'utiliser "" et "1" comme première valeur, mais cela n'a pas fonctionné : </p>
<pre class="brush:php;toolbar:false;">INSÉRER DANS LES VALEURS test.authors ('1','1','67','0','0','1','10 ','0','1',
'03/01/2012 12:50:49','108929','03/01/2012 12:50:59','198963','21','',
'/usr/local/nagios/libexec/check_ping 5','30','0','4.04159','0.102','1',
'AVERTISSEMENT PING - DUPLICATS TROUVÉS ! Perte de paquets = 0%, RTA = 2,86 ms','',
'rta=2,860000m=0%;80;100;0');</pre>
<p>Alors, comment insérer des données de colonne (champ) à incrémentation automatique dans <strong>MySQL</strong> ? </p>
Si vous souhaitez que le champ d'auto-incrémentation soit automatiquement alloué comme par magie, définissez-le sur NULL ou 0...
Pour profiter de la fonction d'incrémentation automatique d'une colonne, ne fournissez pas de valeur pour la colonne lors de l'insertion de la ligne. La base de données vous fournira une valeur.