Postgresql从phpPgAdmin插入查询语法错误

时间:2013-08-21 22:34:46

标签: sql postgresql phppgadmin

尝试执行标准插入查询,但不起作用。

INSERT INTO users (vk_id, eu_name, eu_society, eu_notes, eu_want_team)
VALUES ("123123133","Eu name","Eu society","Eu notes","true")

我得到的错误如下:

ERROR:  syntax error at or near "INTO" LINE 1: SELECT COUNT(*) AS
 total FROM (INSERT INTO users (vk_id, eu_...

导致此错误的原因是什么?

3 个答案:

答案 0 :(得分:33)

我已安装phpPgAdmin以尝试重现您的错误。我试图创建一个测试表时立即得到它:

enter image description here

看起来像phpPgAdmin将你的查询包装成select count(*) as total from (...)。我发现只有当查询页面上的复选框“Paginate results”设置为on时才会发生这种情况(显然phpPgAdmin会尝试计算它将获得多少行,然后逐页显示)。取消选中它,您的查询将正常工作:

enter image description here

更新1

类似的问题 - INSERT INTO PostgreSQL

已更新2

正如@akshay在评论中提到的那样,通过命令行运行查询也会出现类似的错误,请参阅解释的情况并在此处回答 - PostgreSQL disable more output

答案 1 :(得分:0)

phpPgAdmin用户界面提供了两个用于运行SQL的链接 - 一个位于页面主体中,一个位于页面顶部的菜单栏中。

如果您运行像CREATE TABLE这样的数据定义语句,页面主体中的那个将抛出您正在看到的错误。

但是,菜单栏中的那个将运行数据定义查询没有问题。

简而言之:

screen

答案 2 :(得分:0)

你也可以试试这个

INSERT INTO "user" ("username", "password_hash", "first_name", "last_name") VALUES( 'Foo',MD5('54321'),'Foo','Bar' );