最近在執行乙個sql備份的還原後,發現系統的部分路徑找不到,於是開始debug,最後發現,是由於備份的sql語句在還原時,反斜槓(\)被mysql吃掉了。本文對反斜槓和順斜槓進行了測試,並給出了解決方案。具體描述如下: 執行下面的sql語句:
insert into `test` values('123', 'document\101\1086.pdf', '101/1086.swf');
結果是:
('123','document1011086.pdf','101/1086.swf')
反斜槓\被吃掉了。 順斜槓/能夠正常的插入表中。 如果我們確實想要儲存反斜槓需要在sql語句中進行轉義
insert into `test` values('321', 'document\\101\\1086.pdf', '101/1086.swf');
結果是:
('123','document\101\1086.pdf','101/1086.swf')
由於本系統不需要儲存反斜槓。而且系統資料量還不是很大,於是我用notepad++ 將(\)替換為(/)即解決了這個問題。
mysql執行語句 mysql執行sql語句過程
流程概述 mysql得到sql語句後,大概流程如下 1.sql的解析器 負責解析和 sql 2.預處理器 對解析後的sql樹進行驗證 3.查詢優化器 得到乙個執行計畫 4.查詢執行引擎 得到資料結果集 5.將資料放回給呼叫端。流程圖如下所示 分發器及快取階段 首先,如果系統的快取功能開啟著的話,sq...
SQL語句在MySQL中的執行流程
本篇文章分析sql語句在mysql中的執行流程,包括sql的查詢在mysql內部會怎麼流轉,sql語句的更新是怎麼完成的。在分析之前我們一起看看mysql的基礎架構,知道了 mysql由那些元件組成以及這些元件的作用是什麼,可以幫助我們理解和解決這些問題。下面是mysql的乙個簡要架構圖 serve...
c 中 執行SQL語句
網上看的 刪除一行資料,雖然下面兩個寫法都能實現,但是都有問題。void c資料庫測試dlg onbnclickeddelbtn cstring str m listctrl.getitemtext index,1 strsql.format t delete from customertype w...