2014-11-25

pythonでsqliteにレコードを追加する

pythonでsqliteにレコードを追加するとき、以下のエラーは対処可能。

▶ カラム(フィールド)名 c_code, c_name, c_price

v_a = '9784797354737'
v_b = 'Python入門'
v_c = 2800
c.execute("""insert into テーブル名 (c_code, c_name, c_price)
              values (v_a, v_b, v_c)""")

< Error comment >
sqlite3.OperationalError: no such column: v_a

対処法

c.execute('insert into テーブル名 (c_code, c_name, c_price) \
values (?, ?, ?)',(v_a, v_b, v_c))

または、以下でも可能

c.execute('insert into テーブル名 (c_code, c_name, c_price) \
values (:v_a, :v_b, :v_c)',(v_a, v_b, v_c))


は改行されていない事を示す記号