SQLステートメントですべてのパラメーターが使用されたわけではないという問題を解決します



Solve Problem Not All Parameters Were Used Sql Statement



INSERTステートメントの実行時に発生するPython3を使用してMySQLデータベースに接続しますNot all parameters were used in the SQL statementエラーは通常、MySQLを正しく使用していないプレースホルダーが原因で発生します。

Vals = ('C', 'Manufacturing', 35, 'Special Equipment Manufacturing', 600031, 'Sany Heavy Industry') cur.execute('''INSERT INTO industry_csrc (category_code, category_name, industry_code, industry_name, company_code, company_name) VALUES (%s, %s, %d, %s, %d, %s) ''', vals)

上記のコードは、数値(整数と浮動小数点数を含む)、文字列、日時、またはその他のタイプの両方を使用する必要があるため、エラーを実行します。%sプレースホルダー。
上記のコードを変更して、正しく実行します。



Vals = ('C', 'Manufacturing', 35, 'Special Equipment Manufacturing', 600031, 'Sany Heavy Industry') cur.execute('''INSERT INTO industry_csrc (category_code, category_name, industry_code, industry_name, company_code, company_name) VALUES (%s, %s, %s, %s, %s, %s) ''', vals)

Python形式の文字列で使用されるMySQLパラメータマーカー%s同じように見えますが、この関係は単なる偶然であり、他のデータベースは通常?パラメータマーカーとして使用します。

mysql.connectorで使用されるパラメーターマーカーは、Python文字列フォーマットで使用される%sと同じように見える場合がありますが、関係は偶然であることに注意してください。 oursqlやsqlite3のようないくつかのデータベースアダプタは? %sの代わりにパラメータマーカーとして。