delimiter命令指定了mysql直譯器命令列的結束符,預設為「;」
說白了就是告知命令到哪兒結束,可以執行此命令了
但一般在儲存過程中會有多個分號,我們並不希望一遇到分號就執行命令,因此可以用delimiter命令指定其他結束符來代替「;」
這個結束符可以自己定義,常用的是「//」 和 「$$」
舉個例子:
mysql> delimiter // --將結束符指定為「//」
mysql> create procedure ******proc (out param1 int)
-> begin
-> select count(*) into param1 from t;
-> end;
-> // --遇到//符號結束並執行上面的命令
query ok, 0 rows affected (0.00 sec)
mysql> delimiter ; --將結束符改回預設值「;」
mysql> call ******proc(@a);
query ok, 0 rows affected (0.00 sec)
mysql> select @a;
+------+
| @a |
+------+
| 3 |
+------+
1 row in set (0.00 sec)
注意:在定義結束符時:delimiter // 命令後不能加上";" 出於習慣或者是把delimiter命令誤以為必須加「;」才能執行而在後面加上了分號,那麼在執行儲存過程時會報錯,
因為當mysql> delimiter // ;這樣定義時,此時的結束符不是「//」,而是「// ;」
mysql 中delimiter 的使用
delimiter其實是mysql分隔符,在mysql客戶端中分隔符預設是分號 如果一次輸入的語句較多,並且語句中間有分號,這時需要新指定乙個特殊的分隔符。不然就會遇到 就會執行 在前一篇中有設定mysql的儲存函式時使用例子 drop function if exists test.get cur...
細細研究MySql中delimiter起到的作用
mysql中delimiter究竟可以起到些什麼作用呢?可能不少人都有這樣的疑惑,下文就為您介紹mysql中delimiter的作用,供您參考。mysql匯出乙個sql後 其中delimiter 定好結束符為 然後最後又定義為 mysql的預設結束符為 詳細解釋 其實就是告訴mysql直譯器,該段命...
MySql中 delimiter分隔符 詳解
其實就是告訴mysql直譯器,該段命令是否已經結束了,mysql是否可以執行了。預設情況下,delimiter是分號 在命令列客戶端中,如果有一行命令以分號結束,那麼回車後,mysql將會執行該命令。但有時候,不希望mysql這麼做。在為可能輸入較多的語句,且語句中包含有分號。預設情況下,不可能等到...