頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


Pythonのsqlite3でデータを削除する

Python3のsqlite3でデータを削除しようとしたんだ。少し調べると
DELETE FROM tableName WHERE condition
といったサンプルを見つけることができて、実際試すと削除もできたんだけど、俺がやりたかったのが tableNameを文字列として直で入れるんじゃなくて変数として入れたかったんだ。

cursor.execute("INSERT INTO %s VALUES (?,?,?)"%targetTableName, (targetDate ,price ,volume))

↑保存の時には%sってのを使うから同じようにやるんだろうな、、、と思ったんだけどどういうわけかうまく動かない。試行錯誤してようやく動いたのがこんなの。

cursor.execute(“DELETE FROM %s WHERE date =?”%targetTableName, ( targetDate, ))

そりゃそうなんじゃないの?って感じだけど、、、ここにたどり着くのに異様に時間がかかったんだ。それは targetTableName を定義していなかったから、という何とも本質からずれてた情けない話なんだけど、Pythonのエラーメッセージはそんなこと教えてくれず単にいつもと同じ例外を投げてくるだけなのでなかなか気付かなかった。とまたPythonに対する愚痴が出る前におしまい。

<< 最初のstoryboardを後から追加する  TopPage  ヨーグルト生産第5弾、R-1複製100回成功 >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/1089-dcedaa76




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad