php - 使用大量数据创建查询的最佳方法是什么?

标签 php mysql sql

我有大约 360 行数据,我需要为 SQL 进行 360 次查询,有没有什么快速的方法可以将所有数据放入一个查询中,而不必将它们全部分开,例如这里只有 3我拥有的数据行:

   1,81,32
   1,101,82
   1,60,65

我必须将此数据放入查询中,以便这 3 个看起来像:

   INSERT INTO `Fixtures` (weeks, HomeID, AwayID) Values (1,81,32);
   INSERT INTO `Fixtures` (weeks, HomeID, AwayID) Values (1,101,82);
   INSERT INTO `Fixtures` (weeks, HomeID, AwayID) Values (2,60,65);

但是我有 360 行这样的代码,所以很难将它们全部放入查询的 1 到 1 中,有没有更快的方法可以做到这一点,就像只用一个查询将它们全部插入一样?

最佳答案

您通常可以使用 INSERT...SELECT 语法。

此语法因数据库而异,但通常类似于:

INSERT INTO `Fixtures` (weeks, HomeID, AwayID) 
select 1,81,32
union all select 3,31,22

另一种变体是:

INSERT INTO Fixtures
    (`weeks`, `HomeID`, `AwayID`)
VALUES
    (1, 81, 32),
    (3, 31, 22)
;

关于php - 使用大量数据创建查询的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13179326/

相关文章:

php - 如何从同一个表中选择不同的总和值

php - Google Analytics(分析)用户跟踪

mysql - 如何在 MYSQL 中执行此查询?

php - 如何防止 PHP 中的 SQL 注入(inject)?

mysql - 为什么此查询在 phpmyadmin 中不起作用

php - 数据库中的空格在 HTML 中显示错误

mysql - 搜索日期时查询显示无结果

mysql 列自动索引?

python - 动态 SQL WHERE 子句生成

php - 更新同一个ID的三张图片的逻辑是什么?