2012-06-21 3 views
0

Я хочу, чтобы в мою таблицу одновременно было вставлено множество значений, имеющих только 2 столбца, и если эти значения уже существуют, то их необходимо обновить. Хотя дублирование для 1 столбца возможно, но не для второй столбец .. Я легко могу это сделать с помощью следующего запроса .. Но проблема здесь только одна строка может быть рассмотрена только ... Там нет первичных ключей .. PLZ HELPМножественные вставки/обновления без дублирования в 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

Проверьте мой обновленный ответ –

ответ

2

Попробуйте Вставить в название таблицы ............ по дублирующему набору обновлений ключей1 = ......

Alternat ив путь ::

Шаг 1: Создание temp_table с той же структурой, что из table1

Шаг 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); 

Step3:

INsert into table Select * from temp_table 
+0

нормально, но это возможно для нескольких полей ..? – Jhanvi

+0

да, можно –

+0

@Jhanvi: DID эту помощь? –

Смежные вопросы