第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

MySQL中的分隔符

MySQL中的分隔符

GCT1015 2019-06-20 17:32:51
MySQL中的分隔符我經(jīng)??吹饺藗?cè)谑褂梅指舴?。我試著找出什么是分隔符,它們的目的是什么。在谷歌搜索?0分鐘之后,我找不到一個(gè)能讓我滿意的答案。所以,我現(xiàn)在的問(wèn)題是:什么是分隔符,什么時(shí)候應(yīng)該使用它們?
查看完整描述

3 回答

?
互換的青春

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

默認(rèn)值以外的分隔符;通常用于定義函數(shù)、存儲(chǔ)過(guò)程和觸發(fā)器,其中必須定義多個(gè)語(yǔ)句。定義不同的分隔符,如$$用于定義整個(gè)過(guò)程的結(jié)束,但在它內(nèi)部,每個(gè)語(yǔ)句都由;..這樣,當(dāng)代碼在mysql客戶端,客戶端可以知道整個(gè)過(guò)程在哪里結(jié)束,并作為一個(gè)單元執(zhí)行它,而不是在內(nèi)部執(zhí)行單個(gè)語(yǔ)句。

注意,DELIMITER關(guān)鍵字是命令行的函數(shù)。mysql客戶端(和其他一些客戶端)僅限于,而不是常規(guī)的MySQL語(yǔ)言特性。如果您試圖將它通過(guò)編程語(yǔ)言API傳遞給MySQL,它將無(wú)法工作。其他一些客戶端,如PHPMyAdmin,也有其他方法來(lái)指定非默認(rèn)的分隔符。

例子:

DELIMITER $$/* This is a complete statement, not part of the procedure, so use the custom delimiter $$ */DROP PROCEDURE my_procedure$
$/* Now start the procedure code */CREATE PROCEDURE my_procedure ()BEGIN    
  /* Inside the procedure, individual statements terminate with ; */
  CREATE TABLE tablea (
     col1 INT,
     col2 INT  );

  INSERT INTO tablea    SELECT * FROM table1;

  CREATE TABLE tableb (
     col1 INT,
     col2 INT  );
  INSERT INTO tableb    SELECT * FROM table2;/* whole procedure ends with the custom delimiter */END$
  $/* Finally, reset the delimiter to the default ; */DELIMITER ;

試圖使用DELIMITER對(duì)于不支持的客戶端,它將導(dǎo)致將其發(fā)送到服務(wù)器,服務(wù)器將報(bào)告語(yǔ)法錯(cuò)誤。例如,使用PHP和MySQLi:

$mysqli = new mysqli('localhost', 'user', 'pass', 'test');$result = $mysqli->query('DELIMITER $$');echo $mysqli->error;

錯(cuò)誤有:

SQL語(yǔ)法出現(xiàn)錯(cuò)誤;請(qǐng)檢查與MySQL服務(wù)器版本相對(duì)應(yīng)的手冊(cè),以獲得在第1行“劃界器$”附近使用的正確語(yǔ)法。


查看完整回答
反對(duì) 回復(fù) 2019-06-20
?
飲歌長(zhǎng)嘯

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊

分隔符語(yǔ)句將標(biāo)準(zhǔn)分隔符(分號(hào)(;)更改為另一個(gè)分隔符。分隔符從分號(hào)(;)改為雙斜杠/。

為什么我們要更改分隔符?

因?yàn)槲覀兿M麑⒋鎯?chǔ)過(guò)程、自定義函數(shù)等作為一個(gè)整體傳遞給服務(wù)器,而不是讓MySQL工具一次解釋每個(gè)語(yǔ)句。


查看完整回答
反對(duì) 回復(fù) 2019-06-20
?
瀟湘沐

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊

創(chuàng)建具有BEGIN...END塊中的語(yǔ)句以分號(hào)結(jié)束。(;)..但CREATE PROCEDURE語(yǔ)句還需要一個(gè)終止符。因此,程序正文中的分號(hào)是否終止就變得模棱兩可了。CREATE PROCEDURE,或終止過(guò)程正文中的一條語(yǔ)句。

解決歧義的方法是聲明一個(gè)不同的字符串(不能出現(xiàn)在過(guò)程主體中),MySQL客戶端將其識(shí)別為CREATE PROCEDURE聲明。


查看完整回答
反對(duì) 回復(fù) 2019-06-20
  • 3 回答
  • 0 關(guān)注
  • 1916 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)