第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

mysql-建立類似于Oracle序列的機(jī)制

mysql-建立類似于Oracle序列的機(jī)制

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

2 回答

?
慕少森

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊

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

查看完整回答
反對 回復(fù) 2019-12-06
  • 2 回答
  • 0 關(guān)注
  • 665 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號