有没有办法运行sql查询x次?例如,我想在我的表中生成和插入X代码..我现在使用的方式是;
$code1 = generateCode();
$code2 = generateCode();
$insert1 = $odb -> prepare("INSERT INTO `codes` VALUES (NULL, :code)");
$ insert1 - > execute(array(':code' => $ code1));
$ insert1 = $ odb - >准备(" INSERT INTO codes
VALUES(NULL,:code)");
$ insert1 - >执行(数组(':代码' => $ code2));
答案 0 :(得分:0)
你可以在php中使用循环来完成此操作。 。 。这可能是最简单的方法。另一种方法是使用子查询来获取所需的行:
INSERT INTO `codes`
select NULL, :code
from (select 1 as n union all select 2 union all select 3) t;
如果你知道你有一个有足够行的表,你可以这样做:
INSERT INTO `codes`
select NULL, :code
from table t
limit 3;
注意:使用insert
时,您应该几乎总是在表名后面加上列。
答案 1 :(得分:0)
如果你想做50次,
$codes = [];
$insert1 = $odb -> prepare("INSERT INTO `codes` VALUES (NULL, :code)");
for ($i = 1; $i <= 50; ++$i) {
$code = generateCode();
$insert1 -> execute(array(':code' => $code));
$codes[] = $code;
}
echo implode(', ', $codes);