0

こんにちは、私はこのようなクエリ文字列を持っています

executeQuery = '''insert into CarModel
                        (modeli,msubuqi,gamomshvebi)
                         values(%s,%s,%s)''' % ("BMW","X5","Jeep")
cursor.execute(executeQuery)

しかし、実行するとエラーが表示されます : 列 "BMW" は存在しません LINE 3: 値 (BMW,X5,Jeep) なぜ "BMW" が列である必要があるのか​​わかりません 助けてください 私はそれに取り組んでいます一日中

4

1 に答える 1

0

フォーマット後は、次のexecuteQueryようになります。

executeQuery = '''insert into CarModel
                    (modeli,msubuqi,gamomshvebi)
                     values(BMW, X5, Jeep)'''

値を引用符で囲んでいないため、SQL が BMW が列ではないことを返すのは正常です。代わりにパラメーターを指定して実行を使用します。

cursor.execute('''insert into CarModel(modeli,msubuqi,gamomshvebi)
                     values(?,?,?)''', ("BMW","X5","Jeep"))

の代わりにコンマに注意してください%

詳細については、 cursor.execute()の定義を参照してください。SQLite を使用していると仮定していますが、Python の DB API と同じ規則です。よく知られているすべての DB システムは、このインターフェースを使用します。

コメント後に編集

SQL クエリを作成する場合は、メソッドを使用できますが%s、引用符で囲みます。

executeQuery = '''insert into CarModel(modeli,msubuqi,gamomshvebi)
                     values("%s","%s","%s")''' % ("BMW","X5","Jeep")
于 2013-08-25T14:59:27.017 に答える