質問

このコードは、cur.execute()db.commit()の行がコメント化されている場合に正常に機能します。つまり、クエリを出力するだけの場合、このプログラムはn行数実行されます。ここで問題が発生しているようです: ジェネラコディセタグプレ

結果を挿入しようとすると、次のようになります。 ジェネラコディセタグプレ

コード: ジェネラコディセタグプレ

役に立ちましたか?

解決

エラーの理由は次のとおりです: ジェネラコディセタグプレ

これにより、player_categories_statisticsNoneに設定されます。 None[0]は例外を発生させます。

これが発生する唯一の理由は、クエリが行を返さないことです。つまり、テーブルが空です。テーブルに行を配置したことがないため、または何らかの方法でテーブルを削除した可能性が低いため、テーブルは空である可能性があります。

私は次のように可能性があります。あなたはsometableに挿入し、playersから選択しています: ジェネラコディセタグプレ

vs ジェネラコディセタグプレ

これが可能な唯一の理由は、次の行で何も返されていない場合でも、強制的にループさせるためです。 ジェネラコディセタグプレ


追加情報:

これは、データが実際に存在する場合に機能するはずであることを示すために、単一の行と単一の行を持つsqlite3データベースで実行した動作中のクエリです。 ジェネラコディセタグプレ

これは、別のテーブルがあり、行がないsqlite3データベースに対する別の有効なクエリです。 ジェネラコディセタグプレ

ご覧のとおり、上記の動作と同じです。

また、行数がDBで希望どおりに機能することを確認してください。たとえば、sqlite3では使用できません。 http://www.python.org/dev/peps/の行数仕様を参照してください。 pep-0249 /#cursor_objects およびMySQLdbドキュメントを参照してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top