前提・実現したいこと
SQLiteを使ってデータベース作成の勉強をしています。
データベースのテーブル名に変数を用いたいのですが、元々そういう仕様ではないようで中々難航しています。
↓ こちらのサイトを参考にコードを打ってみましたが、どうしても思ったように動かないため質問いたしました。
https://qiita.com/heat_exchange/items/1864f4511e15f83eecef
変数tablenameに格納した文字列のテーブルを作りたいのですが、下記コードのように書くと、「table_info」というテーブルが作成され、その下にデータ型の指定されていない列名(tablenameに格納された"DDD")が作成されました。
テーブル名tablenameが存在するときは一旦削除(DROP)、なけらば作成(CREATE)という内容を実現するには、どうすればよいでしょうか?
該当のソースコード
import sqlite3 as sq conn = sq.connect(r"C:\~~~\sample_data.db") cursor = conn.cursor() tablename = "DDD" # テーブル操作 # テーブル名があるとき、ないときの分岐 cursor.execute("DROP TABLE IF EXISTS %s" % tablename) cursor.execute("CREATE TABLE IF NOT EXISTS table_info('%s')" % tablename) # <-- 該当箇所 conn.commit() conn.close()
補足情報(FW/ツールのバージョンなど)
Windows10
sqlite 3.32.3
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/06 13:32