[MySQL ]Problème sur ON DUPLICATE KEY UPDATE

Problème sur ON DUPLICATE KEY UPDATE [MySQL ] - SQL/NoSQL - Programmation

Marsh Posté le 05-08-2011 à 10:55:29    

Bonjour,
 
J'ai un problème avec ON DUPLICATE KEY UPDATE.
Ça ne va pas être facile à expliquer, mais j’espère réussir à éclaircir le problème.
 
J'ai deux tables identiques dans deux bases différentes.
Je souhaite mettre à jour la table de la base Y à partir de la table de la base X.
 
Donc ma requête pour son début se construit de la manière suivante :
 

Code :
  1. INSERT INTO Y.ma_table (col1, col2, col3)
  2. SELECT col1, col2, col3 FROM X.ma_table


 
Cette requête là fonctionne très bien sous réserve que la table Y soit vide.
 
En revanche si un doublon de clé primaire est trouvé, j'aimerai que la ligne concerné dans la table Y prenne les valeurs de la ligne de la table X et c'est là que je bloque.
Je ne sais pas comment lui dire de prendre les valeurs retournés par la requête SELECT.
 

Code :
  1. INSERT INTO Y.ma_table (col1, col2, col3)
  2. SELECT col1, col2, col3 FROM X.ma_table
  3. ON DUPLICATE KEY UPDATE col1 = ???, col2 = ???, col3 = ???


 
J'espère que vous allez pouvoir m'éclairer.
Merci d'avance !!!

Reply

Marsh Posté le 05-08-2011 à 10:55:29   

Reply

Marsh Posté le 05-08-2011 à 12:14:26    

J'ai trouvé, il suffit de remplacé INSERT par REPLACE :
 
REPLACE INTO Y.ma_table (col1, col2, col3)
SELECT col1, col2, col3 FROM X.ma_table

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed