![]() |
1
1
一种可能是内存不足:通过将所有行存储在一个数组中,甚至在到达更新部分之前,都需要大量内存—在这种情况下,这就充分解释了为什么看不到任何更改;脚本永远无法到达该部分。 另一种可能是你的剧本 runs for too long 停止了。根据您的服务器配置, set_time_limit 在这种情况下可能是一种选择。
因为您对select中的行没有任何条件,而且您所做的唯一过滤是不在row列中存储具有相同值的多个行—但是当您到达update传递时,您将通过row列标识每一行,这意味着它将更新row列中具有相同值的所有行。如果每一行的行值都是唯一的,则无需检查是否已看到该行;如果该行不唯一,则更新时需要不同的条件。 如果您直接运行更新,PHP将不需要使用大量内存,MySQL也不必在更新过程中搜索每一行;它可以一次遍历所有行。除非你在这里留下一些东西,否则你最好只做一个简单的查询。 |
![]() |
Karlo · PHP Sqlite PDO最新版本 4 月前 |
![]() |
Malte · 检查远程服务器上是否存在文件(使用PHP)[关闭] 4 月前 |
![]() |
Bard.Mus · 迁移后的数据库字符集环境 5 月前 |