Exporter et importer un seul champ pour mise a jour

[Résolu/Fermé]
Signaler
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
-
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
-
Bonjour,

Je travaille sur une BDD qui contient une 20aine de champs.
Je souhaite faire une exportation d'un seul champ pour créer une sauvegarde.
Dans ce champ il y a des valeurs NULL (que je ne souhaite pas sauvegarder).
J'ai donc affiché dans MySQL toutes les entrées non nulles de ce champ ainsi que le champ ID (qui me permet d'identifier chaque entrée)

Je souhaite exporter tout ceci, en utilisant UPDATE.
Après export sous format SQL, j'obtiens une série de lignes de ce genre:
UPDATE 'matable' SET 'id' = 11,'champ' = "nouvelle valeur" WHERE  'matable'.'id' = 11;

Mais je trouve curieux qu'il inclue une modification de ID également:
SET 'id' = 11,'champ' = "nouvelle valeur"
...même si au final je pense que ça ne sera pas gênant?

Est-il possible d'obtenir plutôt une requête du genre:
UPDATE 'matable' SET 'champ' = "nouvelle valeur" WHERE  'matable'.'id' = 11;
...qui me parait un peu plus correct comme requête?

Merci


2 réponses

Messages postés
434
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
14 mars 2018
169
Bonjour,

Je ne comprends pas le problème.
Comme tu le dis, si tu veux changer une ou plusieurs valeurs de la ligne id=11, il n'y a pas à modifier le champs id.

Donc effectivement, comme tu le dis, il faut faire une requête de ce style:

"UPDATE matable SET champ = "nouvelle valeur" WHERE id = 11;"
ou
"UPDATE matable SET champ = $monchamp WHERE id = $id;"

Le problème c'est quoi? Que ta requête ne fonctionne pas?

En espérant t'avoir aidé
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
31
En fait je n'ai pas qu'une seule entrée à mettre à jour, mais environ 300. La ligne 11 c'était qu'un exemeple.

Je me sers de l'onglet "exporter" de MYSQL qui me permet de générer un ficher de mise à jour (.sql) de ma base.

Cette fonction "exporter" génère un fichier qui contient 300 requêtes qui modifient toutes à chaque fois l'ID en plus du champs à mettre à jour.

J'aurais aimé avoir un fichier de mise à jour qui ne met à jour que le champ, sans changer l'ID.

Voilà, je ne sais pas si j'ai été plus claire...
Merci!
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
31
Ou alors la solution pour avoir un fichier de sauvegarde sur-mesure serait que je me replonge dans le php pour faire un script qui me génèrerait mon fichier de mise à jour...
Bizarre quand même que la fonction exporter de PhpMyAdmin ne propose pas un UPTADE facilement...
Messages postés
434
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
14 mars 2018
169
Je crois que (petit à petit) je comprends ce que tu veux (je sais je suis lent...).

Ton but c'est d'avoir un fichier de sauvegarde ?
Pourquoi ne l'exporte tu pas sous Excel (ou CSV)? Moi, c'est ce que je fais.

En fait, l'export que tu fais sous forme de requête SQL sert de sauvegarde dans le sens où, si tu perds ta base de données, il faudra que tous les champs soient recréés (puisque n'existant plus). C'est pour cela qu'il y a aussi un SET id (pour reconstruire la table entièrement).
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
31
Ah, OK, donc en fait la fonction "exporter" ne sert pas à faire des sauvegardes partielles... C'est bien dommage, d'autant qu'il y a la requête UPDATE qui est proposée...

Et pour CSV ou exel je n'ai jamais tenté ... Le problème c'est que le champ en question à sauvegarder est un mediumblob qui contient une suite binaire très très longue... je ne sais pas si ça passe sur du CSV ou EXEL?

Mais je vais aussi peut-être m'orienter sur un script php qui me génère un fichier .sql de mise à jour. Ca doit pas être bien compliqué avec une boucle... Il faut juste que je réouvre mes bouquins pour la création et l'écriture dans un fichier.

Merci!
Messages postés
434
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
14 mars 2018
169
Non, pas compliqué les boucles... ;)

Pour mediumblob, ça passe sous CSV ou excel mais effectivement, c'est pas très exploitable...

Par contre, ton dernier post me met encore le doute: Tu parles parfois de sauvegarde et parfois de mise à jour...

Bonne continuation
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
31
En fait c'est une sauvegarde :) mais comme elle ne contient qu'un seul champ sur les 20 de la BDD, j'appelais ça une "mise à jour", mais effectivement ce n'est pas le bon terme.
Oui en fait c'est pour avoir un fichier de sauvegarde de ce seul champ de ma BDD, c'est donc bien une sauvegarde!

Merci de ton aide,
Bonne fin de week-end!