Lorsque vous travaillez avec une table existante où la colonne ID est un champ à incrémentation automatique, importez des données via LOAD DATA INFILE peut poser un défi. Cet article fournit une solution efficace pour gérer de tels scénarios.
Pour plus de clarté, considérez la structure de table suivante :
--------------------- ID | AField | BField| ---------------------
où ID est un champ à incrémentation automatique.
Pour créer un fichier CSV permettant à la base de données de remplir automatiquement le champ ID avec des numéros à incrémentation automatique, l'approche idéale consiste à inclure uniquement les colonnes non incrémentées automatiquement dans le CSV. Ensuite, définissez explicitement la colonne ID sur NULL dans l'instruction LOAD DATA INFILE.
Cette approche garantit que la base de données génère les numéros d'incrémentation automatique pour le champ ID pendant le processus d'importation. Par exemple, considérons le CSV suivant :
afieldvalue, bfieldvalue
L'instruction LOAD DATA INFILE ressemblerait à ceci :
LOAD DATA INFILE '/tmp/data.csv' INTO TABLE your_table FIELDS TERMINATED BY ',' (AField, BField) SET ID = NULL;
En suivant cette approche, vous pouvez remplir de manière transparente l'ID d'incrémentation automatique champ lors de l'importation de données via LOAD DATA INFILE dans MySQL.
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!