2016-08-26 6 views
1

私のPythonコードに少し問題があります。私はユーザーからの入力を受け取り、それに基づいてその名前のSQLテーブルを作成したいと思います。私はtable_name変数の入力を受け取り、そうしたいと思う:Pythonで名前を入力として使用してSQLテーブルを作成できません

sql = "CREATE TABLE %s" % table_name 
cur.execute(sql) 

私はそれを入力 "本"で実行してみましょう。このエラーが発生します:

File "XXX", line 55, in FUNCTIONNAME
cur.execute(sql)
sqlite3.OperationalError: near "books": syntax error

何が問題なのですか?私はそれをgoogledと上記のコードはOKでなければなりませんが、それはそうではありません...

答えて

4

それはおそらくあなたがテーブル定義(列名とそのタイプ、サイズ)を渡されていない原因です。私は投稿のコードから参照することはあなたが唯一のテーブル名を渡しているので、お問い合わせは、あなたが正しい、

CREATE TABLE books 
+0

[OK]を完全に間違っている、それ以下になることです。私は何のコラムもなしに(意図的に)作っていたかったが、それが現実ではないことを理解していなかった。手伝ってくれてありがとう。 – kjubus

関連する問題