在PHP中导出PSQL表

时间:2016-12-01 19:11:22

标签: php mysql database psql

我在psql中有一个看起来像这样的语言表。

enter image description here

我的目标是导出我的languages表并使用PHP将其导入。

我试过

PHP

导出

shell_exec('psql -E -U postgres -d portal -c "COPY languages TO \'/Applications/MAMP/htdocs/code/site/portal/public/csv/languages.csv\' DELIMITER \',\' "');

我已成功导出languages.csv

如果我打开它,它包含这个。

1,h,Advanced Settings,Geavanceerde instellingen,Ajustes avanzados,Réglages avancés,2016-11-23 14:41:25,2016-11-23 14:41:25

我的目标是让我的.csv完全采用这种格式

1,'h','Advanced Settings','Geavanceerde instellingen','Ajustes avanzados','Réglages avancés','2016-11-23 14:41:25','2016-11-23 14:41:25'

因为格式会psql 接受

问题

如何调整psql命令才能获得该功能?

OR

使用PHP更新它是我唯一的选择吗?

我现在正在接受任何建议。

任何提示/建议/帮助都将非常感谢!

1 个答案:

答案 0 :(得分:2)

看起来FORCE_QUOTE上的COPY选项可以列出要包装的列。见这里:SQL COPY

FORCE_QUOTE { ( column_name [, ...] ) | * }

这意味着您可以默认指定或完成所有操作,您可能希望指定id列的指定不是您的示例中的引用。