SQlite3和ruby简单INSERT INTO失败

时间:2011-06-29 16:09:36

标签: sql ruby-on-rails ruby sqlite

这是一个非常简单的问题,我很确定它只是我忽略的东西。 基本上我正在尝试用一些值更新表。相当简单,没什么应该让我头疼。但我在这里。

这是使用SQLite3从Ruby on Rails为数据库执行的。 代码如下:

def goodbye
require 'sqlite3'

db = SQLite3::Database.new( "test.db" )
rows = db.execute( " CREATE TABLE IF NOT EXISTS siteQueue
(
siteQueueKey INTEGER PRIMARY KEY,url TEXT,depth double,numLinks INTEGER);"
)

db.execute( 
"INSERT INTO "siteQueue"  VALUES(1,'www.yahoo.co.uk',1.0 ,20);
 INSERT INTO "siteQueue"  VALUES(2,'www.google.com', 2.5, 30);
 INSERT INTO "siteQueue"  VALUES(3, 'www.person.name', 9.0, 2);
 COMMIT;")

   db.execute( 
"INSERT INTO "siteQueue" 
(PRIMARY KEY,url,depth,numLinks)
 VALUES(1,'www.yahoo.co.uk',1.0 ,20);

 INSERT INTO "siteQueue" 
 (PRIMARY KEY,url,depth,numLinks)
  VALUES(2,'www.google.com', 2.5, 30);

 INSERT INTO "siteQueue" 
 (PRIMARY KEY,url,depth,numLinks)
 VALUES(3, 'www.person.name', 9.0, 2);

 COMMIT;")

这两个都是在siteQueue之后寻找的东西。我不明白为什么。

错误在这里

app/controllers/say_controller.rb:16: syntax error, unexpected tIDENTIFIER, expecting ')'
"INSERT INTO "siteQueue"  VALUES(1,'www.yahoo.co.uk',1.0 ,20);
                       ^
app/controllers/say_controller.rb:17: syntax error, unexpected tIDENTIFIER, expecting kEND
 INSERT INTO "siteQueue"  VALUES(2,'www.google.com', 2.5, 30);

有没有人有任何想法?这很可能很简单,我只需要一双新鲜的眼睛。


它的双引号-_-

2 个答案:

答案 0 :(得分:2)

db.execute( “插入”siteQueue“

看起来太多了引用....

“插入'siteQueue'

答案 1 :(得分:0)

更改自:

db.execute( 
"INSERT INTO "siteQueue"  VALUES(1,'www.yahoo.co.uk',1.0 ,20);
 INSERT INTO "siteQueue"  VALUES(2,'www.google.com', 2.5, 30);
 INSERT INTO "siteQueue"  VALUES(3, 'www.person.name', 9.0, 2);
 COMMIT;")

db.execute( 
"INSERT INTO siteQueue  VALUES(1,'www.yahoo.co.uk',1.0 ,20);
 INSERT INTO siteQueue  VALUES(2,'www.google.com', 2.5, 30);
 INSERT INTO siteQueue  VALUES(3, 'www.person.name', 9.0, 2);
 COMMIT;")