2010年4月28日 星期三

mysql 的 varchar 與 text

今天撞到一堆錯誤, 簡記一下。
  • text 不能下 index。
  • varchar 在 5.03 前最多占 256 個 bytes, 之後可到 65536 bytes。Ubuntu 8.04 上對應的版本是 5.0.51a。
  • varchar 只能 index 前 1000 bytes, 語法是
    ALTER TABLE table_name ADD INDEX index_name ( column_name (key_length))
  • 注意是最大數量的單位是 bytes, 但設 varchar 大小和 key length 的單位都是用 characters。若 charset 用 utf8_general_ci, 則 key_length 只能設到 300 多。不然會出現錯誤訊息: "Specified key was too long; max key length is1000 bytes"。
透過天瓏下單買的 High Performance MySQL 2/e 來了 (還有附書套啊!!), 之後來好好讀讀, 別再自己亂查亂試, 太浪費時間了。

沒有留言:

張貼留言

在 Fedora 下裝 id-utils

Fedora 似乎因為執行檔撞名,而沒有提供 id-utils 的套件 ,但這是使用 gj 的必要套件,只好自己編。從官網抓好 tarball ,解開來編譯 (./configure && make)就是了。 但編譯後會遇到錯誤: ./stdio.h:10...