我是Postgresql的新手,我試圖從MySQL遷移我的應用程序。
我有以下結構的表: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
當我使用libpq的運行通過一個C程序查詢:
UPDATE tbl_point SET "Execute"=0 WHERE "Tag_Id"=0
我得到了以下的輸出:
ERROR: record "new" has no field "last_update"
CONTEXT: PL/pgSQL function "update_tbl_point" line 3 at assignment
當我嘗試使用pgAdminIII更改「Execute」或任何其他列的值時,我會得到完全相同的錯誤。
如果我將列名從「Last_Update」更改爲「last_update」,一切正常。
我在我的數據庫中發現了與其他表相同的問題,並且該列始終與abstime或timestamp列一起出現。
謝謝我的朋友!你的解釋是完美的!亞歷山德拉。 – user1131031 2012-01-05 01:28:50