我正在使用方法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)
)
答案 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以查看最终完成的操作。