尝试执行标准插入查询,但不起作用。
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_...
导致此错误的原因是什么?
答案 0 :(得分:33)
我已安装phpPgAdmin以尝试重现您的错误。我试图创建一个测试表时立即得到它:
看起来像phpPgAdmin将你的查询包装成select count(*) as total from (...)
。我发现只有当查询页面上的复选框“Paginate results”设置为on时才会发生这种情况(显然phpPgAdmin会尝试计算它将获得多少行,然后逐页显示)。取消选中它,您的查询将正常工作:
更新1
类似的问题 - INSERT INTO PostgreSQL
已更新2
正如@akshay在评论中提到的那样,通过命令行运行查询也会出现类似的错误,请参阅解释的情况并在此处回答 - PostgreSQL disable more output
答案 1 :(得分:0)
phpPgAdmin用户界面提供了两个用于运行SQL的链接 - 一个位于页面主体中,一个位于页面顶部的菜单栏中。
如果您运行像CREATE TABLE这样的数据定义语句,页面主体中的那个将抛出您正在看到的错误。
但是,菜单栏中的那个将运行数据定义查询没有问题。
简而言之:
答案 2 :(得分:0)
你也可以试试这个
INSERT INTO "user" ("username", "password_hash", "first_name", "last_name")
VALUES( 'Foo',MD5('54321'),'Foo','Bar' );