8791 sujets

Développement web côté serveur, CMS

Bonsoir,

La question traduit déjà ma connaissance de phpMyAdmin...

Il s'agit donc tout simplement de remplacer une liste de mots (classement alphabétique) depuis phpMyAdmin.

J'ai donc bien une table qui se nomme "products" et je me retrouve devant différentes actions possible mais je ne connais qu "Exporter" pour mes sauvegardes.

...et je dispose d'un fichier texte .csv avec la nouvelle liste (une colonne de texte simple)

Comment remplacer en un coup l'ancienne liste par la nouvelle ? Smiley rolleyes
Salut salut,

Je ne connais pas le format .csv mais apparemment il est reconnu par phpmyadmin.

Ce que je te conseil dans un premier temps c'est de sauvegarder ta table products actuel et d'essayer d'importer ensuite ton fichier .csv en lieu et place de ta table.

Si ça foire tu auras toujours ta sauvegarde à rétablir. Sinon ta table contient-elle beaucoup d'entrée ?
Pour tout dire, j'en étais à ce stade de la réflexion mais si j'ai bien mon stock de sauvegardes à jour, je crains, s'il y a un bug, de ne pas pouvoir tout simplement réinstaller cette table... Smiley confus

Je suis prêt à faire tous les tests mais dans ce cas, je reconnais que c'est assez sensible et je souhaiterais sécuriser cette manip.
Bonjour,
Les exports/imports de fichier sur phpmyadmin sont tout à fait fonctionnels, y compris avec le format .csv.
Mais si tu veux t'en persuader, rien n'empêche de faire des essais à vide...
J'ai réussi à créer la nouvelle table mais impossible d'importer mon fichier .csv

J'ai essayé d'effectuer l'import en "csv via load data" en laissant tous les champs par défaut.

Est-ce que mon csv qui ne comporte qu'une seule colonne est (la liste) est ok ? pas de colonne avant ou après ?

Le message d'erreur est : Nombre de colonnes invalide dans les données CSV à la ligne 1. Smiley ohwell
Est-ce que tu pourrais poster les premières lignes de ton fichier CSV pour qu'on voit la tête qu'il a ?

Fais aussi attention au fait que dans phpMyAdmin tu as différentes options pour le CSV (tu peux définir le séparateur, le type de guillemets utilisés s'il y a lieu, si la première ligne contient le nom des colonnes etc.

Par contre je ne sais pas si tu peux créer une table à partir d'un CSV d'une seule colonne (en général c'est au moins deux). Peut-être en créant une table avec deux colonnes : 'id' en INT autoincrement et 'mot' en varchar, puis en important ton CSV dans cette table en spécifiant 'mot' comme nom de colonne ?
C'est une bonne piste, mais en fait, j'ai créé une nouvelle table en récupérant le code de mon archive sql et en le collant directement dans dans la fenêtre sql de PMA.

Et tu as raison, avec une seule colonne, mon csv ne fonctionnait pas, j'ai donc ajouté une première colonne avec des séparateur ";"

J'ai réussi à importer en mode csv via load data.

Le problème, c'est que même après avoir coché "Remplacer les données de la table avec le fichier" ma liste s'est ajouté à l'ancienne...

J'ai conscience que tout ça n'est pas très pro mais on va dire que pour cette fois, si je pouvais aller jusqu'au bout, ce serait pas mal Smiley smile
Pourquoi tu ne "TRUNCATE" pas la table avant d'importer ton csv ?

(En admettant que tu as bien sauvegarder ta table avec la fonction export)

Tu as drolement peur de faire des manip pour quelqu'un qui s’appelle goudurisc Smiley lol
Modifié par Apoooo (19 Sep 2012 - 11:11)
Pour être honnête, c'est la première fois que je prends en charge ce type de modif et pour un client plutôt représentatif dans mon CA, d'où une certaine prudence dans mes tests.

Je suis d'accord avec toi, j'aurais pu changer de pseudo pour l'occasion comme "zerorisc"

Et il faut reconnaître que phpMyAdmin n'est pas une interface des plus accueillantes, sans par ler dun nouveau langage à décoder, on remonte donc quelques décennies en arrière ou les développeurs arrivaient avec le canne en ivoire façon Louis XVI.

Pour le TRUNCATE, je me suis demandé ce que c'était que cet animal, je connaissais déjà le SURICATE...

Sinon, je suis parvenu à importer ma table et j'ai donc supprimé l'ancienne liste manuellement.

Les items de l'ancienne liste était numérotés à partir de 1,2,3...
mais la nouvelle liste, même après suppression de l'ancienne, a conservé la numérotation à partir de 365, 364 , 366... soit le numéro affiché après la fin de l'ancienne liste...

Bon, ça n'a pas l'air d'affecter le résultat mais je reconnais que c'est du bricolage

Enfin, pour le TRUNCATE, je suis prêt à l'apprivoiser mail il faut que je sache à quoi il ressemble, tu as des images ? Smiley ravi
Pour ma liste déjà en place, je ne vais toucher à rien mais je reconnais que cette requête m'aurait permis de faire correctement le ménage avant l'import de ma nouvelle liste.

Je note malgré tout cette manip et te remercie pour ton aide !