Python

【Python】 「1210: Incorrect number of arguments executing prepared statement 」エラーの解消方法!

あきぞらです。

Pythonでデータベースに接続する処理を書く時があります。

PythonMySQLに接続する処理を組みこんでいたとき、

こんなエラーに遭遇しました。

1210: Incorrect number of arguments executing prepared statement

原因がすぐに分かったので、今回はその方法を紹介していきます。

原因

PythonMySQLに接続する処理をこんな風に実装していました。

db: MySQLConnection
try:
    db = mysql.connector.connect(
        host=host,
        port=3306,
        user='********',
        password='********',
        database='********',
        charset='utf8',
        connection_timeout=15,
    )
    db.ping(reconnect=True)
    statement: str = (            
        'SELECT * FROM test_table'
    )
    cursor: MySQLCursor = db.cursor(prepared=True)
    cursor.execute(statement, (test, keyword))
...
...

ここで!

cursorのところをこんな風に書いてしまっていました。

cursor.execute(statement, (test, keyword))

executeの第二引数にムダな変数をいれてしまっていました

こうすると解決しました。

cursor.execute(statement)

意外と凡ミスでハマることもあるので、要注意です。

では、また。

-Python

Copyright© あきぞらてっく , 2026 All Rights Reserved Powered by AFFINGER5.