2010-06-15 24 views
0

我遷移我們的模型到PostgreSQL的FTS和數據完整性postgresql正在將更新增加2?

update myschema.counters set counter_count= (counter_count+1) where counter_id =? 

將按預期在MySQL,但Postgres裏它是由2每次遞增?這是簡單的int域我相信,我沒有什麼特別的事情發生。

+0

這是不可能的,除非你有一個'觸發器'正在與更新混合。或複雜的「規則」。 – 2010-06-15 17:00:39

+0

我不這樣做,我真的爲此感到茫然。我還沒有對數據庫做任何事情。 0觸發器或規則。 – 2010-06-15 17:03:07

+0

您執行查詢兩次,檢查日誌文件以查看兩個查詢。 – 2010-06-15 17:19:11

回答

1

您應該使用sequence來填充值。

CREATE SEQUENCE counter_seq START 1; 

UPDATE myschema.counters 
    SET counter_count = NEXTVAL('counter_seq') 
WHERE counter_id = ?