在mysql中如何从一组给定的值为表中的每一行设置一列

时间:2015-07-06 03:38:53

标签: mysql sql sql-update rows

我有这张桌子:

id      name     code
---------------------------
1        n1  
2        n2
3        n3

我需要将这些值写入每行的代码列:

('8n8kKaVu','SRE2vbpQ','Vdfb7V7s')

此外,将上表中的值设置为哪一行并不重要。所以我想让决赛桌看起来像这样:

id     name     code
-----------------------
1      n1       8n8kKaVu
2      n2       SRE2vbpQ
3      n3       Vdfb7V7s

1 个答案:

答案 0 :(得分:1)

如果将所有代码加载到表中,则可以创建自动递增键:

alter table codes add id integer auto_increment key;

然后使用代码表中的值更新原始表中的代码列:

UPDATE original_table
SET code = (SELECT
                codes.code
            FROM codes
            WHERE original_table.id = codes.id);