title: ActiveRecord::Base.connection.execute(..) looking for column with name of a value I am trying to insert into a table
body: <p>Newbie question.</p>
  
  <p>I am trying to use ActiveRecord::Base.connection.execute(..) in a ruby 3.1 app and docs I have read seem to be straight forward but for the life in me I can seem to understand why I cant get the code below to work. The error message I am getting suggests that the execute function is looking for a column with the name of one of the values I am trying to save but I dont understand why.</p>
  
  <p>Firstly, my db table structure is as follows:</p>
  
  <pre><code>  create_table "countries", :force =&gt; true do |t|
      t.string   "iso3"
      t.string   "iso2"
      t.string   "name"
      t.datetime "created_at"
      t.datetime "updated_at"
    end
  </code></pre>
  
  <p>And the code Im playing with is as follows:</p>
  
  <pre><code>code = 'ZA'
  name = 'South Africa'
  
  ActiveRecord::Base.connection.execute("INSERT INTO countries ('iso3', 'iso2', 'name')
    VALUES ('Null', #{code}, #{name})")
  </code></pre>
  
  <p>The error message I am getting is as follows:</p>
  
  <pre><code>SQLite3::SQLException: no such column: ZA: INSERT INTO countries ('iso3', 'iso2', 'name')
                                                  VALUES ('Null', ZA, SouthAfrica)
  </code></pre>