挿入ステートメントでプレースホルダーを使用しようとしています。
私はPyCharm / Python 3.6、MySQL-Database、およびmysql.connectorを使用しています(どちらが正確かはわかりません)。
次のコードが機能しないのはなぜですか?
insert_stmt = "INSERT INTO mydb.datensatz (Titel) VALUES ('%s');"
data = (titel)
cursor.execute(insert_stmt, data)
cnx.commit()
titelは文字列です。
これが挿入されますが、その行にタイトル文字列を含める必要があります。
値の中括弧の ''を削除すると、PyCharmは誤ったMySQL構文でエラーを表示します。
この場合、プレースホルダーを使用するにはどうすればよいですか?たとえば、複数の列に挿入する場合など、より多くのプレースホルダーを使用するにはどうすればよいですか?研究は役に立たなかった。
%s
ANDから引用符を削除し、パラメーターがタプルに含まれていることを確認する必要があります。
insert_stmt = "INSERT INTO mydb.datensatz (Titel) VALUES (%s);" # Removed quotes around %s
data = (titel,) # Added trailing comma to make tuple
cursor.execute(insert_stmt, data)
cnx.commit()
タプルに単一の値がある場合は、末尾にコンマを含める必要があります。 (item,)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加