我是一名初級開發人員,我正在嘗試創建一個應用程式來使用 postgresql 在 Spring Boot 的開放空間中保留一個座位。
我希望能夠檢查在用戶所需的持續時間內該地點是否尚未預訂。我已經完成了資料庫,但我阻止了如何進行驗證。
示例:我已經有一個事件:{ id:'1', name :'Pepito', start:'2019-01-01 00:01:00', end:'2019-03-06 00:01:00' ,desk_id:'16' } 開始和結束列是沒有時區型別的時間戳。
我想插入一個新事件,而不是與具有相同desk_id的其他事件同時發生。
uj5u.com熱心網友回復:
要檢查作業場所是否按日期免費,您需要運行以下查詢:
select case when count(*) > 0 then false else true end as available from my_table WHERE desk_id = $YOUR_DESK_ID and not (
(start < '$YOUR_START_DATE' and end < '$YOUR_START_DATE')
or
(start > '$YOUR_END_DATE' and end > '$YOUR_END_DATE')
);
查詢結果將回傳真或假。這樣您就可以在添加新記錄之前進行檢查。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/513983.html
