posts - 122,  comments - 25,  trackbacks - 0

          在 MySQL 中,數(shù)據(jù)庫和表對就于那些目錄下的目錄和文件。因而,操作系統(tǒng)的敏感性決定數(shù)據(jù)庫和表命名的大小寫敏感。這就意味著數(shù)據(jù)庫和表名在 Windows 中是大小寫不敏感的,而在大多數(shù)類型的 Unix 系統(tǒng)中是大小寫敏感的。

          奇怪的是列名與列的別名在所有的情況下均是忽略大小寫的,而表的別名又是區(qū)分大小寫的。

          要避免這個問題,你最好在定義數(shù)據(jù)庫命名規(guī)則的時候就全部采用小寫字母加下劃線的組合,而不使用任何的大寫字母。

          或者也可以強制以 -O lower_case_table_names=1 參數(shù)啟動 mysqld(如果使用 --defaults-file=...\my.cnf 參數(shù)來讀取指定的配置文件啟動 mysqld 的話,你需要在配置文件的 [mysqld] 區(qū)段下增加一行 lower_case_table_names=1)。這樣MySQL 將在創(chuàng)建與查找時將所有的表名自動轉(zhuǎn)換為小寫字符(這個選項缺省地在 Windows 中為 1 ,在 Unix 中為 0。從 MySQL 4.0.2 開始,這個選項同樣適用于數(shù)據(jù)庫名)。

          當你更改這個選項時,你必須在啟動 mysqld 前首先將老的表名轉(zhuǎn)換為小寫字母。

          換句話說,如果你希望在數(shù)據(jù)庫里面創(chuàng)建表的時候保留大小寫字符狀態(tài),則應該把這個參數(shù)置0: lower_case_table_names=1 。否則的話你會發(fā)現(xiàn)同樣的sqldump腳本在不同的操作系統(tǒng)下最終導入的結(jié)果不一樣(在Windows下所有的大寫字符都變成小寫了)。

          posted on 2007-11-23 12:42 josson 閱讀(336) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫
          <2007年11月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 扎赉特旗| 安岳县| 祁东县| 巴林左旗| 大兴区| 周口市| 古浪县| 闻喜县| 黎城县| 宜春市| 东兴市| 洪湖市| 常州市| 瑞安市| 江山市| 出国| 渭南市| 南充市| 北安市| 宾川县| 泰兴市| 东城区| 东平县| 凤翔县| 依兰县| 通江县| 兴海县| 阿拉善盟| 浠水县| 北辰区| 从化市| 剑河县| 托里县| 裕民县| 郎溪县| 长岛县| 齐齐哈尔市| 治县。| 翁牛特旗| 邵武市| 江阴市|