新手问题。ActiveRecord :: Base.connection.execute(..)正在寻找具有值名称的列我试图插入表
我想在Ruby 3.1的应用程序和文档,我已阅读使用的ActiveRecord :: Base.connection.execute(..)似乎是直截了当的,但对我的生活中,我似乎可以理解为什么我不能获取下面的代码来工作。我得到的错误消息表明,执行功能正在寻找一个名称为我试图保存的值之一的列,但我不明白为什么。
首先,我的数据库表结构如下:
create_table "countries", :force => true do |t|
t.string "iso3"
t.string "iso2"
t.string "name"
t.datetime "created_at"
t.datetime "updated_at"
end
和IM与打码如下:
code = 'ZA'
name = 'South Africa'
ActiveRecord::Base.connection.execute("INSERT INTO countries ('iso3', 'iso2', 'name')
VALUES ('Null', #{code}, #{name})")
我得到错误信息如下:
SQLite3::SQLException: no such column: ZA: INSERT INTO countries ('iso3', 'iso2', 'name')
VALUES ('Null', ZA, SouthAfrica)
你必须引用你的值 – lucapette 2012-01-17 16:10:10