新的唯一ID我有一個表創建的Postgres
id | entry | field | value
1 | 1 | name | Egon
2 | 1 | sname | Smith
3 | 1 | city | Los Angeles
4 | 2 | name | Stephe
5 | 2 | sname | Mueller
6 | 2 | city | New York
其中id
是PK和自動遞增。具有相同entry
的行屬於一起,它們是一種數據集。我想爲新的entry
添加新行(應該有值3)。
我的問題是:如何獲得entry
的下一個值,它是唯一的? 在使用類似
SELECT MAX(entry)+1
但是當兩個查詢在同一時間做,我會得到entry = "3"
對他們倆的那一刻IM。我使用PHP編碼。
糾正你的數據庫設計。 entryid應該是主鍵 –
你有一個建模問題而不是序列問題。 –
id似乎是(代理)主鍵,{entry,field}看起來像候選鍵。可能需要將te表分成兩個或三個表,這將產生一個EAV模型(這通常被許多人認爲是反模式) – joop