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

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

mysql-建立類似于Oracle序列的機制

mysql-建立類似于Oracle序列的機制

森林海 2019-12-06 11:01:12
MySQL提供了一種自動增加記錄ID的機制。這可以用于許多目的,但是我需要能夠使用ORACLE提供的序列。顯然,為此目的創建表是沒有意義的。解決方案應該很簡單:1)創建一個表以托管所有需要的序列,2)創建一個增加特定序列的值并返回新值的函數,3)創建一個返回序列當前值的函數。從理論上講,它看起來很簡單...但是...當增加一個序列的值時(與nextvalOracle中的相同),您需要阻止其他會話執行此操作(甚至獲取當前值),直到更新完成。兩個理論選擇:a-使用UPDATE語句,一次即可返回新值,或者b-將表鎖定在UPDATE和SELECT之間。不幸的是,MySQL似乎不允許在函數/過程中鎖定表,并且在嘗試在單個語句(例如UPDATE ... RETURNING ...)中完成整個操作時,必須使用@ -type變量,這些變量必須存在功能/程序的完成。有人對此有想法/可行的解決方案嗎?謝謝。
查看完整描述

2 回答

?
慕少森

TA貢獻2019條經驗 獲得超9個贊

我懂了。我通常會同意您的意見(例如,insert / updates / selects屬于PROCEDURES),只是在這種情況下,它將是一組通用服務(即,創建序列,刪除序列,獲取序列當前值,獲取序列下一個值等) ),因此(至少以我的口味)它具有一系列功能。就像我說的,有品味。非常感謝您的推薦。當然投票

查看完整回答
反對 回復 2019-12-06
  • 2 回答
  • 0 關注
  • 666 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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