mettre à jour et inserer sous conditions

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : mettre à jour et inserer sous conditions

par Jules Petibidon » 25 mai 2007, 18:07

hello,

il existe une méthode assez simple si ta version de mysql est pas trop ancienne :

t'appuyer sur les contraintes d'unicité de ta table (si tu l'as bien conçu... sinon tant pis pour toi !) et utiliser ON DUPLICATE KEY

eg:

Code : Tout sélectionner

INSERT INTO matable (champ1, champ2) VALUES ('val1' , 'val2') ON DUPLICATE KEY UPDATE champ2='val2'...

par martial » 25 mai 2007, 17:21

Je n'arrive pas à trouver la bonne syntaxe pour remplacer ou inserer en une fois toutes les données de la Table 2 dans la table 1

Code : Tout sélectionner

REPLACE INTO T_1 SET (t_1.c_1=t_2.c_1,....
J'ai bien parcouru le manuel MYSQL mais je plante...

par martial » 25 mai 2007, 17:00

Tout simplement!!!

Merci Mere teresa

par mere-teresa » 25 mai 2007, 16:56

mettre à jour et inserer sous conditions

par martial » 25 mai 2007, 16:44

Bonjour à tous!
J'ai bien compris la commande SQL UPDATE pour mettre à jour une table T_1 à partir des données de la table T_2 à condition que le champ t_1.champ1 soit égal au champ t_2.champ1.

En revanche quelle est la condition pour insérer les données quand t_1.champ1 est différent de t_2.champ2?

En fait je voudrais à la fois mettre à jour quand les champs sont identiques et inserer quand les champs sont différents.

Est ce la même requête UPDATE ou bien faut-il procéder d'une autre façon?