2012-06-21 4 views
0

Je souhaite que plusieurs valeurs soient insérées simultanément dans ma table avec seulement 2 colonnes et si ces valeurs existent déjà, elles doivent être mises à jour. Bien que la duplication pour 1 colonne soit possible mais pas pour la deuxième colonne .. je peux facilement le faire avec la requête suivante .. Mais le problème est ici qu'une seule ligne ne peut être considéré comme ... il n'y a pas de clé primaire .. PLZ AIDEPlusieurs insertions/mises à jour sans duplication dans mysql

INSERT INTO `table` (value1, value2) 
SELECT 'stuff for value1', 'stuff for value2' FROM `table` 
WHERE NOT EXISTS (SELECT * FROM `table` 
        WHERE value1='stuff for value1' AND value2='stuff for value2') 
LIMIT 1 
+0

Vérifiez ma réponse mise à jour –

Répondre

2

Essayez cette Insérer dans le nom de la table ... sur l'ensemble de mise à jour de la clé en double column1 = ......

ive façon ::

Etape 1: Créer un temporary_table avec la même structure que de table1

Étape 2:

INsert into temp_Table 
    (SELECT * from table1 t1 left join table2 t2 on (t1.value1=t2.value1 and t1.value2=t2.value2) 
    where t2.value1 is null and t2.value2 is null); 

Etape 3:

INsert into table Select * from temp_table 
+0

ok mais est -il possible pour plusieurs champs ..? – Jhanvi

+0

oui, c'est possible –

+0

@Jhanvi: EST-CE QUE cette aide? –

Questions connexes