来自 phpPgAdmin 的 Postgresql 插入查询语法错误
Posted
技术标签:
【中文标题】来自 phpPgAdmin 的 Postgresql 插入查询语法错误【英文标题】:Postgres sql insert query syntax error from phpPgAdmin 【发布时间】:2013-08-21 22:34:46 【问题描述】:尝试执行标准插入查询,但不起作用。
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_...
是什么导致了这个错误?
【问题讨论】:
错误消息向您显示错误:SELECT COUNT(*) AS total FROM (INSERT ...
postgresql 中的所有双引号都可以吗?我正在查看的文档仅显示单引号。它是否需要一个终止分号?
顺便说一句:值内的字符串需要用单引号括起来:VALUES(123123133,'Eu name','Eu society','Eu notes',true)
嗯,这可能是 phpPgAdmin 中的一个错误,我看到 5 月份打开的报告:Bugs item #3612602, was opened at 2013-05-03
INSERT INTO PostgreSQL的可能重复
【参考方案1】:
我已经安装了 phpPgAdmin 来尝试重现您的错误。我在尝试创建测试表时立即得到它:
看起来 phpPgAdmin 将您的查询包装到 select count(*) as total from (...)
中。我发现只有在查询页面上的 checkbox "Paginate results" 设置为 on 时才会发生这种情况(显然 phpPgAdmin 试图计算它将获得多少行,然后逐页显示)。取消选中它,您的查询将正常工作:
更新 1
类似问题 - INSERT INTO PostgreSQL
更新 2
正如@akshay 在 cmets 中提到的,您也可能会通过命令行运行查询时遇到类似的错误,请参阅解释的情况并在此处回答 - PostgreSQL disable more output
【讨论】:
@Roman Pekar 我遇到了类似的错误,但我没有使用 pgadmin UI。我正在通过命令行运行命令。我该如何纠正错误? 我在这里找到了答案:***.com/questions/11180179/… 我有空白 SQL 错误:在语句中:没有复选框“分页结果”【参考方案2】:phpPgAdmin UI 提供了两个运行 SQL 的链接——一个在页面主体,一个在页面顶部的菜单栏中。
如果您运行像 CREATE TABLE 这样的数据定义语句,页面主体中的那个会抛出您看到的错误。
但是,菜单栏中的那个将毫无问题地运行数据定义查询。
简而言之:
screen
【讨论】:
【参考方案3】:你也可以试试
INSERT INTO "user" ("username", "password_hash", "first_name", "last_name")
VALUES( 'Foo',MD5('54321'),'Foo','Bar' );
【讨论】:
以上是关于来自 phpPgAdmin 的 Postgresql 插入查询语法错误的主要内容,如果未能解决你的问题,请参考以下文章
ubuntu下安装PostgreSQL 和 phpPgAdmin