Python初心者+SQL初心者で、Pythonでデータベースを扱う勉強をし始めたところです。
SQLite3を使ってテーブルにレコードを追加したいのですが、うまく追加できません
緯度・経度・場所の名前のカラムを作り、それぞれにデータを入れて行きたいです。
python
1import sqlite3 2 3# 一回実行されてファイルが作られると、次回以降はファイル名を参照して既存のファイルと接続される。 4conn = sqlite3.connect("testSQL.db") 5 6# カーソル作成 7cur = conn.cursor() 8 9#テーブルが存在しないときのみテーブルを作成 10if cur.fetchone() == (0,): 11 cur.execute("CREATE TABLE GPS_log (longitude INTEGER, latitude INTEGER, place TEXT)") 12 13 14lon = int(input('longitude: ')) 15lat = int(input('latitude: ')) 16pla = input('place: ') 17cur.execute(f"INSERT INTO GPS_log VALUES ({lon}, {lat}, {pla})") 18conn.commit() 19#close処理 20conn.close()
例えばplaに「国会議事堂」と入れると、
no such column: 国会議事堂
とエラーが出ます。
f記法を使って変数を文字列に入れ込みたいのですが、INSERT文に直接「国会議事堂」と入力すると、ちゃんと反映されます。
初心者で質問なれしてないので、他に必要な情報などありましたら教えて下さい。
> no such column: 国会議事堂
この意味が分かりますか?つまり、国会議事堂というカラムを作ればエラーにならないという事です。
回答1件
あなたの回答
tips
プレビュー