MySQL克隆匹配的行,并用PHP生成的唯一值修改一个字段



我想克隆所有YEAR=2020的行,并将GAMCODE字段指定为php函数生成的值。

然而,目前游戏代码只生成一次,所以我得到了一个"重复条目">错误。

$number = generateGameCode();   
$sql = "INSERT INTO games(gamecode, year, rounds)
SELECT '".$number."', year, rounds
FROM games
WHERE year = 2020"; 

如何为每个匹配行分配唯一的新生成游戏代码?

提前感谢!

更新

我必须使用php函数来生成值。我不能在数据库中将GAMCODE设置为auto_increment编号。

您没有。你让数据库来完成这项工作。这需要对表格进行重组。但表格应该看起来像:

create table games (
gamecode int auto_increment primary key,
year int,
rounds int
);

然后,您不插入gamecode(我称之为gameid,但您可以随意调用它(。它是自动生成的。您的查询看起来像:

insert into games (year, round)
select year, round
from games
where year = 2020;

相关内容

  • 没有找到相关文章

最新更新