info = "'ブラシカードレコードに挿入(ブラシカード日付、ブラシカード時刻、カード番号6061、カード番号6654) 値(?,?,?,?)',('2017-05-28','12:23:32', 123, 0)"
cur.execute(情報)
これはエラーを報告します: sqlite3.OperationalError
cur.execute('ブラシカードレコードに挿入(ブラシカード日付, ブラシカード時刻, カード番号6061, カード番号6654) 値(?,?,?,?)',('2017-05-28','12:23:32', 123 、0))
これはうまくいきます。
cur.execute には 2 つのパラメータがあり、1 つは SQL で、もう 1 つは SQL パラメータに値を渡すためのもので、二重引用符で囲まれた最初の文は文字列、つまりパラメータと同等ですが、2 番目のパラメータはそうではありません。渡されました
info = "ブラシカードレコードに挿入(ブラシカード日付、ブラシカード時刻、カード番号6061、カード番号6654) 値(%s,%s,%s,%s)"%('2017-05-28','12:23:32', 123 、0)
またはstr.format
リーリー
質問が見つかりました。ご回答いただきありがとうございます。
データベーステーブルへの新しいデータの挿入が動的である場合、より良い方法は、最初に str を生成し、それをパラメータとして cur.execute() に渡すことです。
コード例:
リーリー