1

例如,这是我的表定义:

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

4

1 回答 1

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
于 2013-08-17T06:25:38.463 回答