【问题标题】:Mysql save PHP array as each value in new fieldMysql将PHP数组保存为新字段中的每个值
【发布时间】:2014-12-15 19:54:55
【问题描述】:

我有一个类似的 PHP 数组

array("Saab", "Volvo", "BMW", "Toyota");

我需要将其存储在 MySQL 数据库中,将每个值插入一个新字段而不是同一个字段。它可以通过使用 foreach 语句并在 foreach 语句中运行查询来实现。但我需要一种更有效的方法来在单个查询中完成。

【问题讨论】:

  • 为什么必须避免 for 循环?
  • 1 查询在数组上使用 implode()
  • 我试图避免循环以加快进程。因为这个数组可能包含更多的值。

标签: php mysql arrays


【解决方案1】:

在您的 INSERT 查询中打包多条记录 - 在循环中生成一条记录,然后在最后执行它。

INSERT INTO tbl (is, name)
VALUES
(0, 'Ford'),
(1, 'BMW'),
(2, 'Volvo)

【讨论】:

    【解决方案2】:

    你可以用 implode 试试

    insert into tablename (field1, field2, field3, field4) values('".implode("'", array(...))."');
    

    它会产生这样的结果:

    insert into tablename (field1, field2, field3, field4) values('Saab', 'Volvo', 'BMW', 'Toyota');
    

    【讨论】:

      【解决方案3】:

      您可以使用一个 SQL 查询插入多条记录。阅读以下文章:

      之前也讨论过SO:

      【讨论】:

        猜你喜欢
        • 2023-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-10
        • 2010-12-31
        • 2013-06-03
        • 2013-04-15
        • 2013-04-02
        相关资源
        最近更新 更多