文章詳情頁(yè)
db - mysql有int字段只增不減功能
瀏覽:207日期:2022-06-19 16:49:36
問(wèn)題描述
現(xiàn)在有一個(gè)字段,類(lèi)型為int,能否僅通過(guò)mysql自身的sql語(yǔ)句或配置,來(lái)實(shí)現(xiàn)該字段只增不減的功能?
比如說(shuō)現(xiàn)在有一條記錄,這個(gè)字段的值是1400,現(xiàn)在要對(duì)該字段進(jìn)行UPDATE操作,當(dāng)UPDATE SET為1300時(shí),就失敗,當(dāng)UPDATE SET為1500時(shí),就成功。
我不想通過(guò)后端代碼來(lái)實(shí)現(xiàn)的原因,是因?yàn)橛X(jué)得為了更新記錄,單獨(dú)再查一遍,有點(diǎn)浪費(fèi)了。
問(wèn)題解答
回答1:update test set value=1500 where id=1 and value<1500
然后獲取影響條數(shù)就可以了。
最后,你要留意這個(gè)值,這樣的更新在并發(fā)的情況下,無(wú)法做到數(shù)據(jù)的一致性。
回答2:可以嘗試設(shè)置觸發(fā)器
回答3:觸發(fā)器可以做到的
上一條:mysql - InnoDB事務(wù)級(jí)別Serializable level的時(shí)候find一個(gè)不存的數(shù)據(jù)會(huì)加什么鎖下一條:數(shù)據(jù)庫(kù) - MYSQL提示數(shù)據(jù)過(guò)長(zhǎng)錯(cuò)誤,根據(jù)網(wǎng)上的解決方案無(wú)法解決
相關(guān)文章:
1. boot2docker無(wú)法啟動(dòng)2. docker-compose中volumes的問(wèn)題3. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””4. java - SSH框架中寫(xiě)分頁(yè)時(shí)service層中不能注入分頁(yè)類(lèi)5. nignx - docker內(nèi)nginx 80端口被占用6. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.7. javascript - mock.js可以存儲(chǔ)數(shù)據(jù)嗎8. docker api 開(kāi)發(fā)的端口怎么獲取?9. docker images顯示的鏡像過(guò)多,狗眼被亮瞎了,怎么辦?10. golang - 用IDE看docker源碼時(shí)的小問(wèn)題
排行榜

熱門(mén)標(biāo)簽
網(wǎng)公網(wǎng)安備