3

Pythonスクリプトを使用してMySQLdbintフィールドにNULL値を挿入しようとしています。NOT NULLはフィールドでオフになっているので、そうではありません。データベースにNULL値を手動で挿入しましたが、Noneの代わりにリテラル値を指定すると、正常に機能し、コードも正常に機能します。

私はこれを行う方法のいくつかの人々の例を見てきました、そして私が知る限り、構文に何も問題はありません。

コード:

length2 = None

cursor.execute("INSERT INTO tableName(Length) VALUES(%s)", length2)

エラー:

Error 1064: You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use near 
'%s)' at line 1

何か案は?

4

1 に答える 1

6

の2番目の引数execute()は、タプル(またはリスト)である必要があります。
コードを次のように変更してください。

cursor.execute("INSERT INTO tableName (Length) VALUES (%s);", (length2,))
于 2012-05-24T20:54:19.847 に答える