j'ai script suivant python pour insérer des données dans psqlunnest avec l'erreur de jeter psycopg2
from psycopg2 import connect
con = connect( """my string""")
query = """ INSERT INTO test.result_data
SELECT id,
result,
result1,
result2
FROM unnest(%s) s(id text, result real, result real, result integer)
"""
t = [('1234jc', 0.0, 1.2123, 1), ('1234sc', 1.0, 1.74, 1)]
c = con.cursor()
c.execute(query, (t,))
il jette l'erreur suivante
psycopg2.ProgrammingError: function return row and query-specified return row do not match
DETAIL: Returned type unknown at ordinal position 1, but query expects text.
Suite est la table strucutre dans la base
|---------------|-------|
|column name | type |
|---------------|-------|
|id | text |
|---------------|-------|
|result |float8 |
|---------------|-------|
| cpr |float8 |
|---------------|-------|
|cpr30 |float8 |
|---------------|-------|
Pensez à utiliser des guillemets simples pour les valeurs de chaîne dans 't'. En outre, vous répétez la colonne 'result' dans votre liste de définition de colonne –
mises à jour, toujours le même numéro –