2010-07-17 4 views
2

Мне нужно руководство для одной проблемы. Предположим, что у меня одна таблица alphabets (alpha, id).
В колонке alpha, имеющий значение а-г и в колонке ид все значения 1.Дублирование данных с использованием запроса mysql

a 1 
b 1 
. . 
. . 
z 1 

Теперь я хочу, запрос к базе данных для вставки данных, как-г, но с идентификатором = 2.

Может кто-нибудь помочь мне.

ответ

6
INSERT INTO alphabets (alpha, id) 
SELECT alpha, 2 
    FROM alphabets a 
WHERE id = 1 
    AND NOT EXISTS (
     SELECT * FROM alphabets 
     WHERE alpha = a.alpha 
      AND id = 2 
     ) 

Обратите внимание, что пункт WHERE делает этот запрос idempotent, то есть, он не будет дублировать ID = 2 строки, если вы запустите его дважды.

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