sql >> Database teknologi >  >> RDS >> PostgreSQL

TypeError:'int'-objekt understøtter ikke indeksering

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

Dette ændrer some_id parameter til en liste, som kan indekseres. Forudsat at din metode virker, som jeg tror, ​​den gør, burde dette virke.

Fejlen opstår, fordi den et eller andet sted i metoden sandsynligvis forsøger at iterere over det input eller indeksere direkte ind i det. Muligvis sådan her:some_id[0]

Ved at gøre det til en liste (eller iterable), tillader du det at indeksere det første element på den måde.

Du kan også lave det til en tuple ved at gøre dette:(some_id,) som har den fordel at være uforanderlig.



  1. Hvordan får man numeriske typer fra MySQL ved hjælp af PDO?

  2. Overvågning af PostgreSQL i et hybridmiljø

  3. Oracle.ManagedDataAccess.EntityFramework - ORA-01918:bruger 'dbo' eksisterer ikke

  4. SQLite JSON_EACH()