欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL字段自增自減的SQL語句示例介紹

 更新時間:2014年02月07日 11:49:43   作者:  
MySQL的自增語句大家應該都很熟悉,本文為大家介紹下MySQL字段自增自減的SQL語句,需要的朋友可以參考下
MySQL的自增語句大家應該都很熟悉 也很簡單
復制代碼 代碼如下:

update `info` set `comments` = `comments`+1 WHERE `id` = 32

這樣就可以了,但是有時候我們會涉及到做減法,

例如:文章的評論數(shù),在刪除或者鎖定了一條評論之后需要對該文章總評論數(shù)減一

comments smallint(5) unsigned 文章評論總數(shù)統(tǒng)計字段 無符號即 0 ~ 65535 之間的數(shù)值

1. 通常情況下是可以類似上面自增的方法 把 +號 改成 -號 就行了,但問題是如果當前 comments 統(tǒng)計數(shù)值為 0 時 再做減法將會變成該字段類型的最大數(shù)值 65535
復制代碼 代碼如下:

update `info` set `comments` = `comments`-1 WHERE `id` = 32

2. 為避免這個問題一般的想法只能是先根據(jù) id 主鍵查詢出文章 comments 統(tǒng)計字段值,再通過PHP做減法,然后再 update 一次,前后總共需要執(zhí)行兩次SQL命令

今天google查了下沒找到這方面的資料,看了看MySQL的語法函數(shù)等等。。。試了下面的語句可以直接一條語句完成,也就是加個 if 判斷,如下示例:
復制代碼 代碼如下:

update `info` set `comments` = IF(`comments`< 1,0,`comments`-1) WHERE `id` = 32

默認comments為0時, comments-1 = 65535;但測試了下 如果直接 判斷 comments-1=65535 好像不行,不知道什么原因,對這個不是很熟悉不知道是不是 這里的 if 不支持 = 號,但是 comments-1 >= 65535 可以成立,于是當 comments 為 0 時,IF(`comments`-1>=65535,0,`comments`-1) 將返回 0提示:最大數(shù)值 65535 是 smallint 無符號狀態(tài)下的最大值,其他字段類型請進行相應調(diào)整

----------------------------------------------------------------------------------------------------------------------

2014/02/03 補充:剛開始是這么寫的,后來發(fā)現(xiàn)太笨了,稍微改下:
復制代碼 代碼如下:

update `info` set `comments` = IF(`comments`<1, 0, `comments`-1) WHERE `id` = 32

要減x,就判斷是否小于x

相關文章

  • centos下mysql主從復制設置詳解

    centos下mysql主從復制設置詳解

    centos5.4下mysql主從復制步驟詳解,大家參考使用吧
    2013-12-12
  • MySQL/MariaDB的Root密碼重置教程

    MySQL/MariaDB的Root密碼重置教程

    這篇文章主要給大家介紹了關于MySQL/MariaDB的Root密碼重置的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-09-09
  • 將MySQL查詢結果按值排序的簡要教程

    將MySQL查詢結果按值排序的簡要教程

    這篇文章主要介紹了將MySQL查詢結果按值排序的簡要教程,不過同樣需要對結果進行檢查而決定是否使用order by等其他語句,需要的朋友可以參考下
    2015-12-12
  • 利用explain排查分析慢sql的實戰(zhàn)案例

    利用explain排查分析慢sql的實戰(zhàn)案例

    在日常工作中,我們會有時會開慢查詢?nèi)ビ涗浺恍﹫?zhí)行時間比較久的SQL語句,下面這篇文章主要給大家介紹了關于利用explan排查分析慢sql的相關資料,需要的朋友可以參考下
    2022-04-04
  • MySQL筆記之視圖的使用詳解

    MySQL筆記之視圖的使用詳解

    使用視圖的大部分情況是為了保障數(shù)據(jù)安全性,提高查詢效率
    2013-05-05
  • mysql 5.7更改數(shù)據(jù)庫的數(shù)據(jù)存儲位置的解決方法

    mysql 5.7更改數(shù)據(jù)庫的數(shù)據(jù)存儲位置的解決方法

    隨著MySQL數(shù)據(jù)庫存儲的數(shù)據(jù)逐漸變大,已經(jīng)將原來的存儲數(shù)據(jù)的空間占滿了,導致mysql已經(jīng)鏈接不上了。所以要給存放的數(shù)據(jù)換個地方,下面小編給大家分享mysql 5.7更改數(shù)據(jù)庫的數(shù)據(jù)存儲位置的解決方法,一起看看吧
    2017-04-04
  • 詳解一條update語句是怎樣執(zhí)行原理解析

    詳解一條update語句是怎樣執(zhí)行原理解析

    這篇文章主要為大家介紹了詳解一條update語句是怎樣執(zhí)行原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 深入了解mysql的4種常用、重要的數(shù)據(jù)類型

    深入了解mysql的4種常用、重要的數(shù)據(jù)類型

    對于在開發(fā)大型電子商務網(wǎng)站時,如果碰到有限的硬件和系統(tǒng)環(huán)境情況下,合理的數(shù)據(jù)庫表結構的設計是必不可少的
    2014-05-05
  • MySQL中的隨機抽取的實現(xiàn)

    MySQL中的隨機抽取的實現(xiàn)

    本文主要介紹了MySQL中的隨機抽取的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • MySQL 雙向備份的實現(xiàn)方法

    MySQL 雙向備份的實現(xiàn)方法

    這篇文章主要介紹了MySQL 雙向備份的實現(xiàn)方法,即兩個 MySQL 服務都是 Master,其中任意一個服務又是另一個服務的 Slave,感興趣的可以了解一下
    2019-04-04

最新評論