我想克隆所有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;