PHP脚本中出现PostgreSQL错误


PostgreSQL error from PHP script

我是PostgreSQL的新手,但我是PHP和MySQL的老手。

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

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');

返回的错误状态是:

ERROR:  syntax error at or near "GROUP"
LINE 1: ..._lead ( EIN, NAME, ICO, STREET, CITY, STATE, ZIP, GROUP, SUB...

这在我的控制台输出中返回,在Ubuntu机器上。

知道为什么会失败吗?尝试在psql控制台中运行此操作会得到相同的结果,其中一个克拉指向GROUP

中的'G'

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

必须将GROUP括在双引号中,以防止它被解释为关键字

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');