在MySQL中使用萬用字元時應該注意的問題

2022-09-29 13:03:10 字數 817 閱讀 1271

現象:

有乙個表 action_conf,資料如下:

如果想獲取以exp_site_10_開頭的en_name的記錄,sql語句該如何寫?

so easy!

select en_name from action_conf where en_name like 'exp_site_10_%'

很自信的在idb中執行了這條sql,就會發現結果並不是所預期的。

你會發現,執行上面的sql會把所有以 exp_site_10開頭的記程式設計客棧錄都列出來了。

原因:其實,這都是sql中的萬用字元在作怪。在sql中,下劃線_是乙個萬用字元,能匹配任何單一字元。

既然知道原因,修改sql就很容易了。正確的sql應該是:

select en_name from action_conf where en_name like 'exp\_site\_10\_%'

在萬用字元前面增加轉移字元後,mysql就會把萬用字元視為普通字元。

高階:萬用字元整理:

%        &nwww.cppcns.combsp;                         替代乙個或多個字元

&nfkawcspgbsp;_                                  僅替代乙個字元

[charlist]                         字元列中的任何單一字元

[^charlist]或[!charlist]           不在字元列中的任何單一字元

本文標題: 在mysql中使用萬用字元時應該注意的問題

本文位址: /shujuku/mysql/124119.html

在設定MySQL時,應該配置其使用靜態

5 在設定mysql時,應該配置其使用靜態庫而不是共享庫。使用共享庫的動態二進位制系統可節省磁碟空間,但靜態二進位制系統更快 然而,如果希望裝入使用者自定義的函式,則不能使用靜態二進位制系統,因為udf機制依賴於動態連線 伺服器引數的選擇 伺服器有幾個能夠改變從而影響其操作的引數 或稱變數 系統變數...

mysql萬用字元 mysql萬用字元使用

mysql萬用字元使用 w3cchool sql模式匹配 匹配單個字元,匹配 匹配任意個字元,包括零個字元 sql模式下的匹配,預設是對於字母的大小寫沒有要求,並且sql模式下,或 是不能在模糊匹配中使用的,而是使用 like 或 not like.例如 select from user where...

在MySQL中使用memcached

這裡提供了一組mysql的udf函式,可以直接在sql中操作memcached。安裝比較簡單,需要安裝 libmemcached 0.12.tar.gz,然後安裝 memcached functions mysql 0.1.tar.gz就可以了。它的幫助檔案中提供了使用方法。只是需要設定ld lib...