亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

自定義SERIAL /每組值的自動遞增

自定義SERIAL /每組值的自動遞增

郎朗坤 2019-11-20 09:56:08
我正在嘗試建立一個博客系統,但遇到了一個小問題。簡而言之,我的article表格中有3列:id SERIAL,category VARCHAR FK,category_id INTid column很明顯是PK,它用作所有文章的全局標識符。category 列很好..類別。category_id用作UNIQUE類別中的ID,因此當前存在UNIQUE(category, category_id)約束。不過,我也想為category_id以自動遞增。我想要它,以便每次執行如下查詢時INSERT INTO article(category) VALUES ('stackoverflow');我希望category_id根據最新category_id的“ stackoverflow”類別自動填充該列。在我的邏輯代碼中實現此目標非常容易。我只是選擇最新的num并插入+1,但這涉及兩個單獨的查詢。我正在尋找一種可以在一個查詢中完成所有這些操作的SQL解決方案。
查看完整描述

3 回答

?
LEATH

TA貢獻1936條經驗 獲得超7個贊

這個問題已經被問了很多遍了,并且一般的想法在多用戶環境中注定會失敗 -博客系統聽起來就是這樣。


所以最好的答案是:不要??紤]另一種方法。


category_id完全從表中刪除該列-它不存儲任何其他兩列(id, category)尚未存儲的信息。


您id是一serial列,并且已經以可靠的方式自動遞增。


自動遞增SQL功能

如果您需要某種category_id無間隙的產品category,請使用以下命令即時生成row_number():


復合鍵每組行的序列號


查看完整回答
反對 回復 2019-11-20
  • 3 回答
  • 0 關注
  • 519 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號