Import fichier csv : empecher l'update de certaines colonnes [MYSQL] - SQL/NoSQL - Programmation
Marsh Posté le 19-04-2016 à 09:59:49
Bonjour,
Si tu coches la case "Remplacer les données de la table", il vas simplement faire un TRUNCATE de ta table pour la vider avant d'importer.
Je crois que dans un import via phpmyadmin tu ne peux faire qu'un INSERT INTO, hors toi tu aurais besoin d'un INSERT IGNORE et/ou un REPLACE et/ou un UPDATE.
Je penses qu'il faut que tu importes dans un autre table (import_csv par exemple) et qu'en suite tu fasse 2 requêtes SQL, une qui met à jour les champs existant, et une autre qui crée les nouveau enregistrement.
Et que ta colonne "Contact" soit une clefs unique sur ta table 1212 bien sur ! ^^
Code :
|
Marsh Posté le 19-04-2016 à 17:49:23
Merci beaucoup pour ta réponse détaillée mechkurt !
je vais m'en servir
Marsh Posté le 18-04-2016 à 23:40:11
Bonjour,
Je suis sur un hébergement mutualisé.
Ma table est la suivante :
Contact | date de relance | commentaire
J'ai un fichier csv contenant 2 colonnes "contact" et "date de relance".
Voici la maj que je souhaite faire :
envoie du fichier, mets a jours les données existantes, et conserve celles insérées
Le truc c'est que j'y arrive pas. Meme si je précise que 2 colonnes "contact" et "date de relance" dans l'import, ca va quand meme m'effacer les commentaires.
ps : j'ai essayé avec et sans "Remplacer les données de la table avec le fichier"
sauriez vous comment faire ?
merci