Insertion de plusieurs lignes dans une colonne

Eléphanteau du PHP | 21 Messages

05 août 2015, 11:42

Bonjour,

Je ne parviens pas à trouver la syntaxe pour insérer plusieurs lignes dans une seule colonne d'une de mes tables.

Voici ma syntaxe sous phpMyAdmin

Code : Tout sélectionner

INSERT INTO `wp_translation_fr`(`translation`) VALUES ('Paramètres - PayPal'), ('Permettre le paiement PayPal'), ('Activer PayPal paiement par carte de crédit'), ('PayPal nom d utilisateur de l API'), ('PayPal mot de passe API'), ('PayPal signature API'), ('Activer PayPal bac à sable'), ('API PayPal nom d utilisateur sandbox'), ('PayPal passe API sandbox'), ('PayPal signature API sandbox'), ('activer restitutions'), etc ... ('position'), ('résumé'), ('Tabs')
Il y a déjà des enregistrements dans cette colonne, et voici ce qu'il me renvoie après la requête.

Code : Tout sélectionner

MySQL a retourné un résultat vide (aucune ligne). (Traitement en 0.0150 sec)
Quelqu'un aurait-il une idée ? !!!

Avez-vous une idée sur la bonne syntaxe ?

Merci à l'avance.

Cordialement,
Stéphane

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

05 août 2015, 11:56

Bonjour,

2 possibilités :
INSERT INTO nom_table SET champ1="valeur2", champ2="valeur2", champ3="valeur3";
ou
INSERT INTO nom_table (champ1, champ2, champ3) VALUES ("valeur1", "valeur2", "valeur3");
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 21 Messages

05 août 2015, 12:07

Bonjour,
Je comprend bien le principe, mais dans mon cas, je n'ai qu'un seul champ, et je souhaite y rentrer plusieurs valeurs.

Dans votre exemple, il y a plusieurs champs, et on y entre une seule valeur.

Peu-être ne suis-je pas très clair dans ma demande.

Cordialement,

Mammouth du PHP | 737 Messages

05 août 2015, 14:05

Slt,

Bah tu concatènes tes valeurs dans le champ voulu avec pourquoi pas un caractère de séparation pour plus tard :)

Mega
;)
Dyslexics are teople poo

Eléphanteau du PHP | 21 Messages

05 août 2015, 14:10

Je ne souhaite pas concaténer ...

J'ai une colonne avec plus de 1000 lignes à remplir.

J'ai trouvé la syntaxe pour une ligne, mais comment faire pour entrer l'ensemble de mes lignes en une seule fois ?

Mammouth du PHP | 737 Messages

05 août 2015, 14:23

C'est un update ou un insert ?
Sinon tu fais une boucle...Quelle est ta source ?
Si tu pars de rien tu fais un while ou une boucle for.
Dyslexics are teople poo

Eléphanteau du PHP | 21 Messages

05 août 2015, 14:30

J'ai donner mon code en début du Post.
C'est un INSERT, tout du moins je teste cela ...
J'ai déjà des valeurs dans mon champs, je souhaite les remplacer par de nouvelles données.

je suis sous PhpMyAdmin pour lancer ma requête.

Eléphanteau du PHP | 21 Messages

05 août 2015, 14:42

UPDATE semble être une bonne idée, mais je n'arrive pas à trouver la bonne syntaxe ...

Code : Tout sélectionner

UPDATE `wp_dopbsp_translation_fr` SET `translation`= ('Paramètres - PayPal'), ('Permettre le paiement PayPal'), ('Activer PayPal paiement par carte de crédit'), ('PayPal nom d utilisateur de l API'), ('PayPal mot de passe API'), ('PayPal signature API'), ('Activer PayPal bac à sable'), ('API PayPal nom d utilisateur sandbox'), ('PayPal passe API sandbox'), ('PayPal signature API sandbox'), ('activer restitutions'), etc ... ('position'), ('résumé'), ('Tabs'); WHERE 1

Mammouth du PHP | 737 Messages

05 août 2015, 14:50

Via php tu déroules tes enregistrements sinon via les procédures stockées.

Ceci devrait pouvoir t'aider :
https://www.google.fr/webhp?sourceid=ch ... loop+mysql

Mega
;)
Dyslexics are teople poo

Eléphanteau du PHP | 21 Messages

05 août 2015, 15:01

Magadeth,

Je ne souhaite pas passer par Php.

Je suis dans l'interface de mon site web sous PhpMyAdmin, et comme je souhaite mettre à jour les enregistrement d'un champ particulier appartenant une table, je souhaitai lancer une requête via l'interface SQL.

Sinon, je peux me taper mes 1400 lignes, une par une, à la main, mais je vais en avoir 15 jours ....

L'UPDATE me semble pas mal, mais il m'annonce une erreur de syntaxe dès la troisième ligne. Cela ne correspond à rien en particulier.

Eléphant du PHP | 243 Messages

05 août 2015, 16:56

Bonjour,

Je ne parviens pas à trouver la syntaxe pour insérer plusieurs lignes dans une seule colonne d'une de mes tables.

Voici ma syntaxe sous phpMyAdmin

Code : Tout sélectionner

INSERT INTO `wp_translation_fr`(`translation`) VALUES ('Paramètres - PayPal'), ('Permettre le paiement PayPal'), ('Activer PayPal paiement par carte de crédit'), ('PayPal nom d utilisateur de l API'), ('PayPal mot de passe API'), ('PayPal signature API'), ('Activer PayPal bac à sable'), ('API PayPal nom d utilisateur sandbox'), ('PayPal passe API sandbox'), ('PayPal signature API sandbox'), ('activer restitutions'), etc ... ('position'), ('résumé'), ('Tabs')
Il y a déjà des enregistrements dans cette colonne, et voici ce qu'il me renvoie après la requête.

Code : Tout sélectionner

MySQL a retourné un résultat vide (aucune ligne). (Traitement en 0.0150 sec)
Quelqu'un aurait-il une idée ? !!!

Avez-vous une idée sur la bonne syntaxe ?

Merci à l'avance.

Cordialement,
Stéphane

Il y a bien un problème dans ta syntaxe.
Attention, tu dois terminer l'insertion par un point-virgule et non une virgule.
En gros le code doit être :

Code : Tout sélectionner

INSERT INTO `wp_translation_fr`(`translation`) VALUES ('Paramètres - PayPal'), ('Permettre le paiement PayPal'), ('Activer PayPal paiement par carte de crédit'), ('PayPal nom d utilisateur de l API'), ('PayPal mot de passe API'), ('PayPal signature API'), ('Activer PayPal bac à sable'), ('API PayPal nom d utilisateur sandbox'), ('PayPal passe API sandbox'), ('PayPal signature API sandbox'), ('activer restitutions'), etc ... ('position'), ('résumé'), ('Tabs');
"Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent"
~~Lorenzo Strigini

Eléphanteau du PHP | 21 Messages

06 août 2015, 08:42

Bonjour Ascla,

J'ai modifié ma syntaxe avec le point-virgule, mais j'ai le même message

Code : Tout sélectionner

MySQL a retourné un résultat vide (aucune ligne). (Traitement en 0.0150 sec)
Mes données n'ont donc pas été remplacée ...

Une idée ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

06 août 2015, 08:59

Ceci n'est pas un message d'erreur, ça veut juste dire que ta commande n'a pas renvoyé d'info à afficher, ce qui est normal vu que c'est un INSERT en non un SELECT.
As-tu vérifié dans ta table ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 737 Messages

06 août 2015, 10:06

Re,

Pour ma part ceci fonctionne bien :

Code : Tout sélectionner

BEGIN DECLARE v1 INTEGER DEFAULT 5; WHILE v1 > 0 DO INSERT into matable(id,nom) values ("",v1); SET v1 = v1 - 1; END WHILE; END
Mega
;)
Dyslexics are teople poo

Eléphanteau du PHP | 21 Messages

06 août 2015, 11:14

Ceci n'est pas un message d'erreur, ça veut juste dire que ta commande n'a pas renvoyé d'info à afficher, ce qui est normal vu que c'est un INSERT en non un SELECT.
As-tu vérifié dans ta table ?
Ma table n'a pas bougé, elle est restée intact ...

Comment je pase mes valeur dans un SELECT ?

Code : Tout sélectionner

SELECT `translation` FROM `wp_translation_fr` WHERE 1