Mysql 从选择结果集中插入行(某些列除外)

Mysql 从选择结果集中插入行(某些列除外),mysql,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 . . ...

例如,这是我的表定义:

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

set @cnt =0;
insert into mytable(cid_fk,name,number)
select (4,name,concat('A',(@cnt := @cnt + 1) )) from mytable where cid_fk=3
试试这个

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

选择最后一个id(因为它是自动递增的),然后递增它并将其与一个连接,在插入中传递它query@Deepanshu这是一个示例,数字列格式与id无关。数字字段是否始终仅以“A”作为前缀?@BijuSoman不完全是“A”,但此字段具有静态前缀选择最后一个id(因为它是自动递增的),然后递增它并将其与一个连接,在插入中传递它query@Deepanshu这是一个示例,数字列格式与id无关。数字字段是否始终仅以“A”作为前缀?@BijuSoman不完全是“A”,但此字段具有静态前缀