运行sql查询x次

时间:2015-04-11 22:27:57

标签: php mysql

有没有办法运行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));

2 个答案:

答案 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);