2010-08-05 67 views
1

我想使用Ruby脚本将文件导入为SQLite 3中的表。我需要分配标签分离器,和我用下面的代码:SQLite3/Ruby语句问题

db = SQLite3::Database.new("meshdb2.db") 
db.execute("CREATE TABLE IF NOT EXISTS pubmed(id integer primary key,prideID INT NOT NULL,pubmedID VARCHAR(10) NOT NULL) 
db.prepare(".separator '\t'") 

我回来了“/usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2。 4/lib/sqlite3/errors.rb:62:在'check'中:near“。”:语法错误(SQLite3 :: SQLException)“错误,我认为这是因为db.prepare()命令。当我想通过Ruby传递设置到SQLite 3时,什么是正确的命令?

-Bobby

回答

1

您在查询后第二行缺少结尾引号。

db.execute("CREATE TABLE IF NOT EXISTS pubmed(id integer primary key,prideID INT NOT NULL,pubmedID VARCHAR(10) NOT NULL") 
# >------------------->------------------->------------------->------------------->------------------->----------------^ 
+0

对不起,那是在真正的程序中,当我在这里复制并粘贴到文本框中时,它被切断。任何其他的想法为什么这个准备()不起作用? – Bobby 2010-08-05 22:10:17