从某些列中选择结果集中插入行

时间:2013-08-17 06:09:31

标签: mysql

例如,这是我的表定义:

id          int     Auto_Increment
cid_fk      int
name        varchar
number      varchar

我也有这些记录:

id     cid_fk       name        number
1         3         test         A1
1         3         test         A2
.         .          ...         ...

现在我想要选择包含cid_fk=3的所有记录并将其与cid_fk=4一起插入:

insert into mytable(cid_fk,name,number)
select (4,name,number) from mytable where cid_fk=3

此查询正常但如果我想更改每行的数字列,我该怎么做? 我希望我的数量增加,如A3,A4,A5,......

更新

数字值有一个静态前缀。像qwerty123,qwerty124,qwerty125

1 个答案:

答案 0 :(得分:1)

试试这个

set @cnt =0;
insert into mytable(cid_fk,name,number)
select (4,name,concat('A',(@cnt := @cnt + 1) )) from mytable where cid_fk=3
相关问题