有人有什么想法吗?我在bash中收到此错误消息...
insert_code_sam.rb:31: syntax error, unexpected tIDENTIFIER, expecting ')'
"INSERT INTO index1 (name) VALUES ("test1");"
^
insert_code_sam.rb:32: syntax error, unexpected ')', expecting end-of-input
在单个文件insert_code_sam.rb中,我正在尝试创建一个新的数据库,创建两个表,并插入一个测试行。创建SQlite表没有问题,但我似乎无法插入行。
require "sqlite3"
db = SQLite3::Database.new( "new_database.db" )
db.execute(
"CREATE TABLE index1 (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
tagline TEXT,
blurb TEXT,
photo_url TEXT);"
)
db.execute(
"CREATE TABLE student_profile (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name_id INTEGER,
thumbnail_url TEXT,
background_url TEXT,
quote TEXT,
bio TEXT,
education TEXT,
work TEXT,
github TEXT,
treehouse TEXT,
codeschool TEXT,
coderwall TEXT);"
)
db.execute(
"INSERT INTO index1 (name) VALUES ("test1");"
)
答案 0 :(得分:1)
db.execute(
"INSERT INTO index1 (name) VALUES ('test1');"
)
答案 1 :(得分:1)
如果您想使用""
分隔符,请选择其他方式:
db.execute(
"INSERT INTO index1 (name) VALUES (\"test1\");"
)
答案 2 :(得分:0)
您过早地结束了字符串 - 您的代码不是有效的Ruby语法。 SQLite expects single quoted strings, anyway。解决方案是使用VALUES
的单引号:
db.execute(
"INSERT INTO index1 (name) VALUES ('test1');"
)