首页 > 解决方案 > Mysql - 为同一表中列中的每个不同值在表中创建一个新行

问题描述

我已经搜索但没有完全找到我要找的东西。我需要在表中为每个具有唯一 ID 的现有条目创建一个新条目。例如 - 我的桌子是这样的。

 id   userid    action
 ---  --------  ----------
 1    55        Red
 2    55        Blue
 3    56        Red
 4    56        Blue  

对于每个唯一的用户 ID,我需要添加另一个条目 - 例如

     id   userid    action
     ---  --------  ----------
     1    55        Red
     2    55        Blue
     3    56        Red
     4    56        Blue 
     5    55        Green
     6    56        Green

这可能吗??

标签: mysqlsqlselectsql-insert

解决方案


您可以使用insert ... select语法为每个 distinct 生成一条新记录userid

insert into mytable(userid, action)
select distinct userid, 'Green' from mytable

推荐阅读