Sono nuovo di Postgresql e sto provando a migrare la mia applicazione da MySQL.
Ho una tabella con la seguente struttura:Strane abitudini in Postgresql
Table "public.tbl_point"
Column | Type | Modifiers | Storage | Description
------------------------+-----------------------+-----------+----------+-------------
Tag_Id | integer | not null | plain |
Tag_Name | character varying(30) | not null | extended |
Quality | integer | not null | plain |
Execute | integer | not null | plain |
Output_Index | integer | not null | plain |
Last_Update | abstime | | plain |
Indexes:
"tbl_point_pkey" PRIMARY KEY, btree ("Tag_Id")
Triggers:
add_current_date_to_tbl_point BEFORE UPDATE ON tbl_point FOR EACH ROW EXECUTE PROCEDURE update_tbl_point()
Has OIDs: no
quando si esegue la query attraverso un programma C utilizzando libpq:
UPDATE tbl_point SET "Execute"=0 WHERE "Tag_Id"=0
ho ottenuto il seguente risultato:
ERROR: record "new" has no field "last_update"
CONTEXT: PL/pgSQL function "update_tbl_point" line 3 at assignment
Ottengo esattamente lo stesso errore quando provo a cambiare il valore di "Execute" o di qualsiasi altra colonna usando pgAdminIII.
Tutto funziona correttamente se cambio il nome della colonna da "Last_Update" a "last_update".
Ho trovato lo stesso problema con le altre tabelle che ho nel mio database e la colonna appare sempre con le colonne di riepilogo o timestamp.
Grazie amico mio! La tua spiegazione è stata impeccabile! Alexandra. – user1131031