2010-07-17 79 views
2

我想要一个问题的指导。假设我有一个表alphabetsalpha,id)。
alpha列具有值A-Z和在列ID的所有值均为1。使用mysql查询的数据重复

a 1 
b 1 
. . 
. . 
z 1 

现在我想数据库查询插入数据样A-Z但具有ID = 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行。