来自PHP脚本的PostgreSQL错误

来自PHP脚本的PostgreSQL错误,php,postgresql,Php,Postgresql,我对PostgreSQL还不熟悉,但我对PHP和MySQL已经很熟悉了 我有一个PHP脚本,可以创建和(应该)执行对PostgreSQL数据库的查询。连接很好,我可以毫无问题地返回数据,但是我的INSERT语句一直失败。下面是脚本创建的一个查询示例:(所有信息都是公共记录,所以这是真实数据) 我返回的错误状态为: ERROR: syntax error at or near "GROUP" LINE 1: ..._lead ( EIN, NAME, ICO, STREET, CITY, STA

我对PostgreSQL还不熟悉,但我对PHP和MySQL已经很熟悉了

我有一个PHP脚本,可以创建和(应该)执行对PostgreSQL数据库的查询。连接很好,我可以毫无问题地返回数据,但是我的INSERT语句一直失败。下面是脚本创建的一个查询示例:(所有信息都是公共记录,所以这是真实数据)

我返回的错误状态为:

ERROR:  syntax error at or near "GROUP"
LINE 1: ..._lead ( EIN, NAME, ICO, STREET, CITY, STATE, ZIP, GROUP, SUB...
这是在我的控制台输出中返回的,在Ubuntu机器上

知道为什么会失败吗?尝试在psql控制台中运行此命令会得到相同的结果,其中一克拉指向组中的“G”


我还验证了查询中字段的拼写是否与数据库中字段的拼写(和大小写)匹配。我没有设置此数据库,但可以完全访问它。

您必须用双引号将组括起来,以防止它被解释为关键字

INSERT INTO
leads_lead ( EIN, NAME, ICO, STREET, CITY, STATE, ZIP, "GROUP", SUBSECTION, AFFILIATION, CLASSIFICATION, RULING, DEDUCTIBILITY, FOUNDATION, ACTIVITY, ORGANIZATION, STATUS, TAX_PERIOD, ASSET_CD, INCOME_CD, FILING_REQ_CD, PF_FILING_REQ_CD, ACCT_PD, ASSET_AMT, INCOME_AMT, REVENUE_AMT, NTEE_CD, SORT_NAME)
VALUES ('010520599','BLUE KNIGHTS MOTORCYCLE CLUB','% DOUGLAS LAMPLUGH','216 HEATHER LN','FAIRHOPE','AL','36532-7105','0000','10','3','1000','201402','2','00','000000000','5','01','201412','0','0','02','0','12','0','0','0','Y42','AL II');

组是一个关键字,你必须转义它
INSERT INTO
leads_lead ( EIN, NAME, ICO, STREET, CITY, STATE, ZIP, "GROUP", SUBSECTION, AFFILIATION, CLASSIFICATION, RULING, DEDUCTIBILITY, FOUNDATION, ACTIVITY, ORGANIZATION, STATUS, TAX_PERIOD, ASSET_CD, INCOME_CD, FILING_REQ_CD, PF_FILING_REQ_CD, ACCT_PD, ASSET_AMT, INCOME_AMT, REVENUE_AMT, NTEE_CD, SORT_NAME)
VALUES ('010520599','BLUE KNIGHTS MOTORCYCLE CLUB','% DOUGLAS LAMPLUGH','216 HEATHER LN','FAIRHOPE','AL','36532-7105','0000','10','3','1000','201402','2','00','000000000','5','01','201412','0','0','02','0','12','0','0','0','Y42','AL II');