此文章主要向大家描述的是MySQL自增主鍵與TEXT數據類型的正確使用方案, 有時我們會用到MySQL數據庫,並且還要用到起自增主鍵與TEXT數據類型。為了防止忘記,先記錄下TEXT數據類型長度:
- TINYTEXT: 256 bytes
- TEXT: 65,535 bytes => ~64kb
- MEDIUMTEXT: 16,777,215 bytes => ~16MB
- BIGTEXT: 4,294,967,295 bytes => ~4GB
我要建的表,主鍵使用自增數字,有一個數據列要使用TEXT數據類型存放文本,則可寫SQL如下:
- CREATE TABLE Corpus
- (
- id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
- data TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
- PRIMARY KEY (id)
)先解釋兩個概念:
字符集是一套符號和編碼。CHARACTER SET X 表示設置字符集為X。
校對規則是在字符集內用於比較字符的一套規則。存在校對規則命名約定:它們以其相關的字符集名開始,通常包括一個語言名,並且以_ci大小寫不敏感)、_cs大小寫敏感)或_bin二元)結束。
COLLATE utf8_general_ci 表示utf8_general的不區分大小寫的校對規則貌似是utf8字符集的默認校對規則,使用“show collation like ‘utf8%’;”查看)。 其中表名為Corpus。主鍵為id,使用MEDIUMINT數據類型,可以表示1-999999間整數大概值,不准確,便於記憶~);UNSIGNED表示無符號型;AUTO_INCREMENT表示自增。data列使用TEXT數據類型,並且設置該列的字符集為utf8,校對規則為utf8_general且大小寫不敏感。
上述的相關內容就是對MySQL自增主鍵以及TEXT數據類型使用的描述,希望會給你帶來一些幫助在此方面。