2011-06-29 34 views
0

這是一個非常簡單的問題,我很確定它只是我忽略的東西。 基本上我試圖用一些值更新表。很簡單,沒有什麼會讓我頭疼的。然而我在這裏。SQlite3和紅寶石簡單INSERT INTO失敗

這是從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); 

有沒有人有什麼想法?這很可能是一件簡單的事情,我只需要一雙新鮮的眼睛。


它的雙引號-_-

+0

你應該接受一個答案... – Sogger

回答

2

db.execute( 「INSERT INTO 」siteQueue「

看起來像太多的報價....

」 INSERT INTO「siteQueue '

+1

是啊,我只是抓住了它。有沒有''「'那些'」'''天? – overtone

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