我試圖找到一種方式來運行更新查詢orientdb,我更新多個屬性字段中。我將在邊緣具有兩個屬性,一個名爲acknowledged_at,另一個名爲read_at。在read_at更新之前,acknowleded_at字段可以被更新。但是,我想確保在更新所有read_at字段時,我還確保任何acknowledge_at字段都使用當前時間戳更新(如果它們以前未設置)。orientdb只更新,如果空
我的使用情況,這是有Facebook的通知等。用戶可以確認通知,但不能在當時閱讀。但是,如果他們點擊一個read_all按鈕,或者稍後決定「讀取」該通知,那麼我想確保我也正在更新acknowledgeed_at屬性(如果它爲null)。
有沒有辦法做到在acknowledged_at場case語句類型的更新,如果空只更新?
更新:只是爲了更清楚,我總是要更新read_at場,但只希望更新acknowledged_at場,如果它是空的。如果以前承認我希望保持這個價值。
UPDATE EDGE received SET read_at = '#{DateTime.now}', acknowledged_at = '#{DateTime.now}' WHERE out.employeeId = '#{employeeId}'
在我上面的場景中,我總是希望更新read_at字段,但只有在值爲null時才更新acknowledge_at。在我的場景中,可能已經確認了通知,但未讀取它。將是有條件的,如果該值爲null,而read_at始終得到更新。 –
@DavidBodenschatz嗨,我已經更新了答案。現在應該工作 –
謝謝,這解決了問題。感謝幫助。 –