sql >> Database >  >> RDS >> PostgreSQL

TypeError:'int' object ondersteunt geen indexering

cursor.execute('
    SELECT "Indicator"."indicator" 
    FROM "Indicator" 
    WHERE "Indicator"."some_id" =   %s;', [some_id])

Dit verandert de some_id parameter in een lijst, die indexeerbaar is. Ervan uitgaande dat uw methode werkt zoals ik denk dat het werkt, zou dit moeten werken.

De fout treedt op omdat ergens in die methode waarschijnlijk wordt geprobeerd die invoer te herhalen of er rechtstreeks in te indexeren. Mogelijk als volgt:some_id[0]

Door er een lijst (of itereerbaar) van te maken, laat je het zo indexeren in het eerste element.

Je zou er ook een tuple van kunnen maken door dit te doen:(some_id,) wat het voordeel heeft dat het onveranderlijk is.



  1. MySQL-voorbeelddatabase

  2. Hoe u consequent een Microsoft Access MVP Award kunt verdienen

  3. Python Postgres psycopg2 ThreadedConnectionPool uitgeput

  4. Hoe de compatibiliteit van SQL Server-database controleren nadat sp_dbcmptlevel is verouderd?