Rechercher : dans
Par :

INSERT et UPDATE multiples

Dernière réponse le 4 oct 2009 à 16:18:17 pyschopathe, le 9 nov 2008 à 18:36:26 
 Signaler ce message aux modérateurs

Bonjour,

je travaille actuellement avec PHP et MySQL et j'aurais souhaité savoir s'il était possible de faire des INSERT et UPDATE groupés, du genre :

INSERT INTO `table`
    VALUES ( 1, 'un' ), (2, 'deux')

ou
UPDATE `table`
     SET `alpha` = 'un' WHERE `num` = 1,
     SET `alpha` = 'deux' WHERE `num` = 2

Le but serait évidemment de limiter le nombre de requêtes à envoyer à ma base...
Merci d'avance pour votre aide.
Configuration: Windows XP
Firefox 3.0.3

Meilleures réponses pour « INSERT et UPDATE multiples » dans :
Windows Update [toutes versions] VoirLe moyen le plus commode pour tenir à jour son système est de passer par Démarrer>Tous les programmes>Windows Update. Une fois sur le site, seules seront proposées les mises à jour nécessaires. Cependant, un assez grand nombre d'utilisateurs...
Télécharger Updater VoirSi vous avez remarqué, les logiciels proposent souvent des mises à jour régulières. Updater est un programme permettant d'effectuer une mise à jour d'un environnement logiciel. Il fonctionne à partir d’un ou plusieurs scripts qu'il peut...
Télécharger Update Checker VoirVous avez un peu marre de recherche les mises à jour de vos logiciels un par un ? Update Checker est là pour le faire à votre place. En effet, ce logiciel permet de trouver la liste des logiciels installés sur votre PC ainsi que leurs versions...
LaTeX - Insertion d'images VoirStyle LaTeX permet d'insérer des images de différents formats. Le plus simple est d'insérer des fichiers de type eps (Encapsuled Postscript) : Il suffit d'insérer dans le préambule la ligne suivante : \usepackage{graphicx} Puis d'insérer...
Transmission de données - Le multiplexage VoirIntroduction au multiplexage On appelle multiplexage, la capacité à transmettre sur un seul support physique (appelé voie haute vitesse), des données provenant de plusieurs paires d'équipements (émetteurs et récepteurs) ; on parle alors de voies...
SQL - Mise à jour d'informations VoirLe SQL permet la modification d'une table par un utilisateur (pour peu qu'il ait les droits suffisants...). La modification d'une table consiste à: ajouter des tuples modifier des tuples existants ou bien supprimer des tuples Insertion de...

1

HostOfSeraphim, le 9 nov 2008 à 18:39:18

Tu peux détailler ? Je n'ai pas compris ce que tu veux améliorer.

Configuration : Linux Debian Lenny / Noyau 2.6.26 / Gnome / ­Iceweasel 3
Connexion Internet : ADSL Orange 8M (Livebox)

Répondre à HostOfSeraphim

2

pyschopathe, le 9 nov 2008 à 18:43:21

Juste savoir si les syntaxe présentées sont correctes (ce dont je doute, particulièrement pour le UPDATE), ou s'il existe un moyen de le faire ?

En gros plutôt que faire :

UPDATE `table`
    SET `champs` = valeur1
    WHERE `id` = id1;

UPDATE  `table`
    SET `champs` = valeur2
    WHERE `id` = id2;

Je voudrais savoir si quelque chose du genre de :
UPDATE `table`
    SET `champs` = valeur1 WHERE `id` = id1,
    SET `champs` = valeur2 WHERE `id` = id2;

est possible, avec la syntaxe valide, et sous MySQL...

J'espère que c'est plus clair...

Répondre à pyschopathe

3

pyschopathe, le 13 nov 2008 à 17:15:39

Un petit up, personne pour me répondre ?

Répondre à pyschopathe

4

Fuu, le 13 nov 2008 à 17:24:21

Je pense que ce n'est pas possible.
Pour la meme table et dans le meme set, tu peux mettre plusieurs valeurs de champs, et dans le WHERE plusieurs conditions aussi, mais pas c que tu veux faire.
Au fait, j'ai parcouru la doc de mysql, je trouve pas ce cas.

T'as d'abord essayé de saisir ces lignes ?
t'as eu des erreurs?

Répondre à Fuu

5

pyschopathe, le 13 nov 2008 à 17:29:57

Je n'ai pas essayé ces lignes, il me parait évident que je ne peux pas mettre plusieurs clauses WHERE dans une même requête, cette syntaxe avait pour seul but de faire comprendre ce que je recherchais... Pour le INSERT non plus, il n'est pas possible d'ajouter plusieurs tuples à la fois ?

Parce que ce serait bien d'avoir un système comme ça, ça limiterait le nombre de requêtes faites à une table...

Sinon, y a-t-il un moyen pour en quelque sorte "bufferiser" des requêtes pour les envoyer en une seule fois à MySQL ? Ça permettrait au moins de limiter le nombre de requêtes envoyées...

Répondre à pyschopathe

6

Fuu, le 13 nov 2008 à 17:39:49

Je ne saurais trop te répondre, mais je sais que tu peux mettre tes requêtes sql dans un bash, et elles pourront être exécutées.
Essaie de chercher de ce côté si ça peut constituer une piste pour toi!

Bon courage

Répondre à Fuu

7

pyschopathe, le 13 nov 2008 à 17:43:00
  • +1

En fait c'est pour une appli web, je peux donc parfaitement faire plusieurs requêtes en PHP, je me posais simplement des questions au niveau de l'optimisation du code...

Répondre à pyschopathe

8

 electrochok, le 4 oct 2009 à 16:18:17

Salut Psycopathe,

tu as eu une réponse à ton problème ? je cherche à faire pareil avec UPDATE...avec INSERT ça fonctionne bien!
merci d'avance.

Répondre à electrochok