PostgreSQL - 从多维数组创建临时表

时间:2013-11-16 23:18:14

标签: php arrays postgresql multidimensional-array

我有一个应用程序,我希望用户能够上传最终插入我们的PostgreSQL数据库表中的电子表格。将要进行上传的人不希望/不知道如何保存为CSV或其他分隔文件。所以选择我可以用来生成的phpExcel类:

  1. 表单中每行的数组
  2. 整张表的多维数组
  3. 我可以迭代每一行并为每一行执行插入,但这可能对数据库有点重,所以我试图找出是否有人知道从多维数组中快速有效地填充表的方法:

    e.g。

    <?php
    $data['row1'] = array('column1','column2','column3','column4');
    $data['row2'] = array('column1','column2','column3','column4');
    $data['row3'] = array('column1','column2','column3','column4');
    // Some PSQL Insert.
    ?>
    

    提前致谢。

1 个答案:

答案 0 :(得分:0)

如果这是CSV,我会采取不同的方法(请先熟悉文档!)

COPY mytable FROM stdin WITH CSV DELIMITER ',';

然后通过适当的界面将其输入。如果你不能在PHP中清楚地做到这一点,那么有一个例子将它包装在php postgresql pdo copy from stdin的函数中

如果这不起作用,您可以将文件放在服务器可以访问的位置,并创建一个可以包装的函数

COPY mytable FROM filename....