使用mysql查询进行数据复制

时间:2010-07-17 12:14:37

标签: sql mysql

我想要一个问题的指导。假设我有一个表alphabetsalphaid) 在具有值a-z和列id的列alpha中,所有值均为1.

a  1
b  1
.  .
.  .
z  1

现在我想要一个数据库查询来插入像a-z这样的数据,但是id = 2。

任何人都可以帮助我。

1 个答案:

答案 0 :(得分: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行。