sql >> Databasteknik >  >> RDS >> PostgreSQL

TypeError:'int'-objekt stöder inte indexering

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

Detta ändrar some_id parameter till en lista som är indexerbar. Förutsatt att din metod fungerar som jag tror att den gör, borde detta fungera.

Felet inträffar eftersom någonstans i den metoden försöker den förmodligen att iterera över den inmatningen, eller indexera direkt in i den. Möjligen så här:some_id[0]

Genom att göra den till en lista (eller itererbar) låter du den indexeras till det första elementet sådär.

Du kan också göra det till en tupel genom att göra så här:(some_id,) vilket har fördelen att vara oföränderligt.



  1. dbms_metadata.get_ddl fungerar inte

  2. Använda Docker på Azure Container Service med Swarm Cluster

  3. Microsoft T-SQL till Oracle SQL översättning

  4. Huvudkonceptet för SQL Server-låsning