Rising Sun

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            148 隨筆 :: 0 文章 :: 22 評論 :: 0 Trackbacks
          <2013年10月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(10)

          隨筆分類

          隨筆檔案

          相冊

          java--->ajax

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          http://blog.chinaunix.net/u/29134/showart_355336.html



          MYSQL在默認的情況下查詢是不區分大小寫的,例如:

          mysql> create table t1(
              -> name varchar(10));
          Query OK, 0 rows affected (0.09 sec)

          mysql> insert into t1 values('you'),('You'),('YOU');
          Query OK, 3 rows affected (0.05 sec)
          Records: 3  Duplicates: 0  Warnings: 0
          對這個表,缺省情況下,下面兩個查詢的結果是一樣的:


          mysql> select * from t1 where name = 'you';
          +------+
          | name |
          +------+
          | you  |
          | You  |
          | YOU  |
          +------+
          3 rows in set (0.00 sec)

          mysql> select * from t1 where name = 'YOU';
          +------+
          | name |
          +------+
          | you  |
          | You  |
          | YOU  |
          +------+
          3 rows in set (0.00 sec)

          如果想讓MYSQL知道你輸入的字母是大寫還是小寫的,修改表:

          mysql> alter table t1 change name name varchar(10) binary;
          Query OK, 3 rows affected (0.20 sec)
          Records: 3  Duplicates: 0  Warnings: 0


          mysql> select * from t1 where name = 'you';
          +------+
          | name |
          +------+
          | you  |
          +------+
          1 row in set (0.00 sec)

          mysql> select * from t1 where name = 'YOU';
          +------+
          | name |
          +------+
          | YOU  |
          +------+
          1 row in set (0.00 sec)

          如果你只是想在SQL語句中實現的話:

          mysql> select * from t1 where name = binary 'YOU';
          +------+
          | name |
          +------+
          | YOU  |
          +------+
          1 row in set (0.02 sec)

          mysql> select * from t1 where name = binary 'you';
          +------+
          | name |
          +------+
          | you  |
          +------+
          1 row in set (0.00 sec)

          如果不想這么麻煩而想服務一開啟就讓大小寫一致的話:
          可以修改my.ini或者my.cnf
          [mysqld]
           lower_case_table_names=1
          (0:區分;1:不區分)
          然后重啟MYSQL服務。

          mysql> show variables like '%case_table%';
          +------------------------+-------+
          | Variable_name          | Value |
          +------------------------+-------+
          | lower_case_table_names | 1     |
          +------------------------+-------+
          1 row in set (0.00 sec)

          注:WINDOWS系統不用修改,系統默認就是1
          LINUX 系統默認是0。因為LINUX下的腳本都是區分大小寫的。
          posted on 2009-04-17 15:30 brock 閱讀(7364) 評論(1)  編輯  收藏

          評論

          # re: MYSQL在默認的情況下查詢是不區分大小寫的[未登錄] 2013-10-29 17:31 wei
          無法通過配置my.ini或者my.cnf文件中的lower_case_table_names參數來設置查詢區分大小寫  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 广水市| 玉溪市| 富民县| 海伦市| 金山区| 拉孜县| 安顺市| 浦城县| 保康县| 绥中县| 周宁县| 来宾市| 文化| 西丰县| 临汾市| 巢湖市| 九台市| 黄浦区| 鹿泉市| 山东| 开阳县| 崇左市| 阿城市| 历史| 茂名市| 三门峡市| 东至县| 望都县| 灌阳县| 肇州县| 承德县| 新泰市| 介休市| 松溪县| 南江县| 牙克石市| 东平县| 京山县| 湘阴县| 特克斯县| 体育|