5
我想選擇表格的記錄中的字段並只更新這些字段中的一個。我能怎麼做?PostgreSql中的Select For Update語句
我試試這個:
SELECT v.idvideo, v.title
FROM video v WHERE v.schedulingflag IS FALSE AND v.errorflag IS FALSE
ORDER BY v.idvideo LIMIT 1 FOR UPDATE ;
UPDATE video SET schedulingflag = true;
但這種方式它在所有的記錄集場「schedulingflag」真!
嗨,我要鎖定的表,你可以看到我剛纔的問題? http://stackoverflow.com/questions/14707002/lock-table-in-postgresql#comment20571089_14707002 –
我會看看,但請標記此答案爲接受,如果它解決了您的問題。 –
請注意,他使用FOR UPDATE的LIMIT 1,這通常意味着他的where子句可能會返回多於1條記錄。現在,因爲我沒有他的DDL表,他應該使用他的主鍵來做更新,如果它的idvideo,那麼他應該使用UPDATE視頻SET scheduleflag = true WHERE idvideo = ?.原因是即使他使用相同的查詢(ORDER BY/LIMIT),他仍然可以更新不同的記錄(可以在它之前插入一個新的ID) – Rahly