MySQL儲存過程中所遇到的bug及解決方案

2021-10-08 07:54:02 字數 772 閱讀 9053

在儲存過程中,因為儲存過程完成的是乙個複雜的操作,其中含有許多的內部邏輯,所以就容易產生許多bug,如下對一些在儲存過程中所遇到的bug進行介紹以及對應的解決方法。

1、分號寫成了中文導致執行錯誤。——將分號改為英文格式

2、將所需要查詢的字段定義了一下否則導致一直展示空值。

3、while do 迴圈巢狀時執行完內層迴圈就停止了,原因是內層迴圈的值在完成一次內迴圈後就已經變成其最大值。  解決方法:(1)如for迴圈一樣將內迴圈值的初始化放在外迴圈中  (2)在外迴圈中,將內迴圈的值再次初始化

4、對sql語句的定義以及對變數的賦值需要加上set否則會報錯

5、左連線時前面的是左邊的表,保留左表,左連線出來的是乙個組合表

6、修改不使用if語句都使用while語句後,發生新錯誤:拼接語句中值不存在發現while語句跳不出去迴圈,改用回if exists語句;發現if exists語句總是存在莫名錯誤,改用if  is null 來進行判斷;發現還是不存在,判斷之進行查詢並into賦值。——成功!

7、進行檢視拼接時出錯,發現是字段每回建立後沒有重新賦予空值,超出了

範圍,進行賦空值——成功!

8、新增入臨時表的表序號迴圈出錯,總是在末尾出來個1;發現mysql資料中新增字段沒有從第一空行起這個概念,只能是新增   出來乙個新字段;所以在嘗試了各種join連線方法得不出來想要的結果後(連線出來都是遍歷的),改用建立表時另外乙個字段設定為自增及解決——成功!

9、mysql中insert語句新增多個需要查詢的語句時 insert into表名 select 多欄位即可!

ztree使用過程中所遇到的問題

1.因為有很多個樹狀圖,用的vue框架,不同個單頁面的ztree的id有些是相同的,導致ztree有時候顯示有時候不顯示的問題,修改id後解決。2.ztree的資料是後台獲取的,某乙個元素是父級,但是無子元素,ztree顯示的圖示顯示成了子的,解決辦法 獲得所有的節點,如果父節點無子節點設定ispa...

MySQL過程中遇到的問題

my.ini檔案中搜尋mysqld關鍵字,在下面新增skip grant tables 我的my.ini配置如下 client 設定客戶端埠號 port 3306 設定預設資料編碼格式 default character set utf8 mysqld skip grant tables 設定為自己...

Mysql的儲存過程中的異常

以前看到一篇mysql的儲存過程,覺得很簡單 要使用mysql的儲存過程,需要 1 mysql的版本在5.0以上,低版本的海不支援儲存過程 2 資料表應該是innodb的,其他格式的不支援事務 做乙個實驗 建立兩個表,在儲存過程中向兩個表插入資料,使向第一表的插入操作執行成功,向第二個表的操作執行失...