SQlite3 и ruby ​​simple INSERT INTO не работают - PullRequest
0 голосов
/ 29 июня 2011

Это довольно простая проблема, и я уверен, что это просто то, что я пропускаю.В основном я пытаюсь обновить таблицу с некоторыми значениями.Довольно просто и ничего такого, что должно вызывать у меня головную боль.И все же я здесь.

Это выполняется из Ruby on Rails с SQLite3 для базы данных.Код выглядит так:

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 ]

2 голосов
/ 29 июня 2011

db.execute ( "INSERT INTO" siteQueue "

выглядит слишком много цитат ....

"INSERT INTO" siteQueue '

0 голосов
/ 29 июня 2011

Изменение с:

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;")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...