PostgreSql错误:42601:“CREATE”或其附近的语法错误

时间:2014-10-23 18:23:02

标签: postgresql

我正在使用方法ApplyToDatabase(string statements)我从其中一个文件夹中获取的语句,打开,读取,使用ExecuteNonQuery执行,问题是在我得到一些SQL语句之后

  

错误:42601:语法错误在或附近" CREATE" ..

Firstable工作并突然停止再次给我错误:42601:语法错误在或附近" CREATE"。

例如,这两个连续:

CREATE TABLE sd_cookies
(
                           ========>>>>>>   this works
)




CREATE TABLE sd_groups
(
    id integer DEFAULT nextval('groups_serials'),
    grpname varchar(40) not null,
    grptype char(1) DEFAULT 'C',                       ======>>>> this not
    PRIMARY KEY(id)

)

1 个答案:

答案 0 :(得分:0)

这个定义没有错。问题必须在此处未显示的部分。

测试:

str@s131-intel:~> psql
psql (9.2.7)

str=# create sequence groups_serials;
CREATE SEQUENCE
str=# CREATE TABLE sd_groups (
str(#     id integer DEFAULT nextval('groups_serials'),
str(#     grpname varchar(40) not null,
str(#     grptype char(1) DEFAULT 'C',              
str(#     PRIMARY KEY(id)
str(# );
HINWEIS:  CREATE TABLE / PRIMARY KEY erstellt implizit einen Index »sd_groups_pkey« für Tabelle »sd_groups«
CREATE TABLE
str=# 

我宁愿直接去数据库(psql)而不是一些无法解释的ApplyToDatabase()。

如果您通过工具访问数据库,则可以启用statement logging以查看最终完成的操作。