【发布时间】:2015-01-11 22:40:44
【问题描述】:
我正在尝试使用 PHP for 循环更新我的表,但它需要很长时间才能工作。我的桌子上真的有200,000 人。当我打开 php 文件时,浏览器会自动挂起 :) 当我打开 phpMyAdmin 时,我可以看到它可以工作,但速度很慢。
有没有办法直接在 phpMyAdmin 中使用 SQL 做同样的事情?
for ($a = 0; $a < 200000; $a++) {
$rand = mt_rand(10000000, 99999999);
// checks whether the same url exists or not
$sec = "SELECT person_url FROM person WHERE person_url = '$rand'";
$result = $sqli->query($sec);
$row = $result->fetch_assoc();
$finish = $row['person_url'];
if ($finish == false) {
$sql = $sqli->prepare("UPDATE person SET person_url = '$rand' WHERE person_id = '$a'");
$sql->execute();
}
}
【问题讨论】:
-
你应该只准备一次语句,然后在循环中执行它。
标签: php mysql sql sql-update