sql >> Database >  >> RDS >> PostgreSQL

Waarde Fout bij het importeren van gegevens in de postgres-tabel met psycopg2

Bekijk de documentatie:

De tijdelijke aanduiding van de variabelen moet altijd een %s . zijn , zelfs als een andere tijdelijke aanduiding (zoals een %d voor gehele getallen of %f voor drijvers) lijkt misschien meer geschikt:

>>> cur.execute("INSERT INTO numbers VALUES (%d)", (42,)) # WRONG
>>> cur.execute("INSERT INTO numbers VALUES (%s)", (42,)) # correct

Terwijl uw SQL-query alle soorten tijdelijke aanduidingen bevat:

"""INSERT INTO weather_data(temperature,humidity,wind,barometer,updated_on,place_id) 
   VALUES (%(temperature)f, %(humidity)f, %(wind)f, %(barometer)f, %(date)s, %(place_id)d)"""



  1. Hoe BIT_LENGTH() werkt in MariaDB

  2. Vervang meerdere tekens in een tekenreeks in SQL Server (T-SQL)

  3. verleen externe toegang tot de MySQL-database vanaf elk IP-adres

  4. Hoe de Meridiem Indicator (AM/PM) toe te voegen aan een tijdwaarde in Oracle