MySQL的wildcard character

也許是因為我跟MySQL太不熟,長久以來我都以為MySQL裡面的wildcard character只有 % 跟 * (for host and table name),所以我就被愚弄了 Orz

之前寫的一個的MySQL服務會自動的加上 "帳號_" 的prefix,昨天我在檢查MySQL的時候突然發現有個資料庫是 "帳號-" 的prefix,心中第一個想法就是"糟糕! 遇到高手,第一天就被人玩爛了"。後來看了一下log跟user的設定發現是先用系統建立一個 xxx_test的db,然後在程式端因為打錯字,打成了xxx-test,妙的是系統竟然也接受,即便這個user沒有create的權限!!

後來經過一番survey才發現原來"_"也是個wildcard character,所以一旦建立了xxx_test的資料庫以及其對應的權限,user就可以自由的建立 xxx*test(ex: xxx-test,xxxatest,xxxbtest)。所幸發現的早,一下就搞定這個因為我的無知而造成的bug Orz

結論,所有東西的refernece manual都應該乖乖的看阿 Orz

本篇發表於 Linux, 技術 並標籤為 , 。將永久鏈結加入書籤。

MySQL的wildcard character 有 1 則回應

  1. 通告: wildcard character

發表迴響

您的電子郵件位址並不會被公開。 必要欄位標記為 *

*

您可以使用這些 HTML 標籤與屬性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>