Mysql到Postgresql查询转换

时间:2013-08-05 09:01:07

标签: postgresql

请帮助创建等于mysql查询的postgresql查询

LOAD DATA LOCAL INFILE 'file.txt' REPLACE INTO TABLE newtable  TERMINATED BY ',' IGNORE 1 LINES;

2 个答案:

答案 0 :(得分:3)

PostgreSQL中没有相同的功能 - 至少在当前的9.3或任何先前的版本中。

您必须通过以下几个步骤完成此操作:

  • CREATE TEMPORARY TABLE ...
  • COPY进入临时表
  • 执行UPDATE ... FROM后跟INSERT INTO ... WHERE NOT EXISTS (...)合并数据
  • DROP临时表

搜索“postgresql bulk upsert”或“postgresql copy upsert”。

答案 1 :(得分:0)

您可能正在寻找COPY

COPY将由PostgreSQL后端(用户“postgres”)运行。后端用户需要权限才能阅读&写入数据文件以便从/向它复制。您需要使用COPY的绝对路径名。另一方面,COPY在当前的$ USER下运行,并且具有该用户环境。并且\ COPY可以处理相对路径名。因此,如果psql \ COPY处理你需要的东西,它会更容易使用。