国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

案例分析:記一次IF函數(shù)引發(fā)的血案

2022-07-11 14:13 作者:做架構(gòu)師不做框架師  | 我要投稿


引言

今天一大早上,產(chǎn)品經(jīng)理楊姐就來找我說:“小米,趕緊看看群里,運(yùn)營的童鞋說系統(tǒng)無論是B端還是C端,秒殺頻道都不能打開了,每天都有秒殺活動,這事很著急啊”!好家伙,看來事情確實蠻嚴(yán)重的……

定位問題

我立刻打開電腦,查看日志,發(fā)現(xiàn)日志中報錯信息是 “SQL語句” 執(zhí)行錯誤,我把sql語句撈出來放到 Navicat 上,并填充相應(yīng)的參數(shù),發(fā)現(xiàn)報以下錯誤:

分析了該sql語句,并把 不相關(guān)的where查詢條件 干掉,最后把問題定位到這一行:

最終發(fā)現(xiàn)是 IF()函數(shù) 中,條件為 false 執(zhí)行的語句有問題,即“g.goods_sub_type IN NULL” 報錯!

修復(fù)問題

既然發(fā)現(xiàn)出現(xiàn)問題的地方,就開始著手修復(fù)問題,看了下業(yè)務(wù)邏輯,IN 后面的是一個固定的數(shù)組,所以把 IN 后面寫成固定數(shù)組即可,像這樣:

搞定!

MySQL IF()函數(shù)

IF()函數(shù)在條件為TRUE時返回一個值,如果條件為FALSE則返回另一個值。

語法如下:

IF(condition, value_if_true, value_if_false)

注意

  • IF() 函數(shù),無論 conditiontrue 還是 false,后面兩個語句是一定會被運(yùn)行的,即要保證 value_if_true 和 value_if_false 的語法是正確的,而不是認(rèn)為 condition 為 true 的時候,value_if_false 會移除掉。就像在本例中,開發(fā)人員錯誤的任務(wù)當(dāng) NULL IS NULL 的時候, 只有 1 = 1 ,而 g.goods_sub_type IN NULL 會去掉。

  • IN 語句后面的范圍一定要用 小括號 “()” 包裹才可以。

END

好兄弟可以點贊并關(guān)注我的公眾號“javaAnswer”,全部都是干貨。



案例分析:記一次IF函數(shù)引發(fā)的血案的評論 (共 條)

分享到微博請遵守國家法律
常州市| 定南县| 疏勒县| 海盐县| 丹阳市| 望江县| 敦化市| 宁海县| 手游| 丽江市| 伊川县| 嘉定区| 玉田县| 西宁市| 慈利县| 霍林郭勒市| 蓬溪县| 泰州市| 资中县| 陕西省| 安福县| 莎车县| 巴林左旗| 清苑县| 东兴市| 茶陵县| 凤山市| 都昌县| 麦盖提县| 鹰潭市| 柘荣县| 甘谷县| 保德县| 社旗县| 陇川县| 遵化市| 永登县| 长海县| 枞阳县| 昌平区| 长泰县|