17

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

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_...

是什么导致了这个错误?

4

3 回答 3

41

我已经安装了 phpPgAdmin 来尝试重现您的错误。我在尝试创建测试表时立即得到了它:

在此处输入图像描述

所以看起来 phpPgAdmin 将您的查询包装到select count(*) as total from (...). 我发现只有在查询页面上的“分页结果”复选框设置为打开时才会发生这种情况(显然 phpPgAdmin 试图计算它将获得多少行,然后逐页显示)。取消选中它,您的查询将正常工作:

在此处输入图像描述

更新 1

类似的问题 - INSERT INTO PostgreSQL

更新 2

正如@akshay 在评论中提到的那样,您也可能会通过命令行运行查询时遇到类似的错误,请参阅解释的情况并在此处回答 - PostgreSQL 禁用更多输出

于 2013-08-24T17:52:23.533 回答
2

phpPgAdmin UI 提供了两个运行 SQL 的链接——一个在页面的主体中,一个在页面顶部的菜单栏中。

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

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

简而言之:

屏幕

于 2015-10-20T09:55:17.510 回答
0

你也可以试试这个

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

于 2017-03-30T12:58:26.403 回答