私はここで間違っていますか?Pythonエラー:int引数が必要です
i = 0
cursor.execute("insert into core_room (order) values (%i)", (int(i))
エラー:
int argument required
データベースフィールドには、int型(11)ですが、私は%iはエラーを生成していると思います。
更新:
は、ここでより徹底した例です:
time = datetime.datetime.now()
floor = 0
i = 0
は、try: booster_cursor.execute( 'core_roomに挿入(extern_id、名前、順序、UNIT_ID、作成、更新)値(%sは、%sは、%sは、%sは、%sは、%のS「)、(行[0]、[0]、I、床、時間、時間を行)) 例外、Eを除く: プリントe
エラー:
(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 'order, unit_id, created, updated) values ('99', '99', '235', '12', '2009-07-24 1' at line 1")
%i引数は、dbのint型です。 %sを使用する必要がありますか? – slypete
@slypete:はい、 '%s'を使用してください。 MySQLdbはデフォルトの 'paramstyle'として' format'を使います。詳細はPEP 249を参照してください:http://www.python.org/dev/peps/pep-0249/ – bernie
%sを使用すると、MySQLサーバからSQLエラーが発生します。 – slypete