mysql char(4)指的是四個字符,還是4個字節?


int類型無論你怎么設置,怎么保存。當你寫入數據的時候還是可以寫入11位整數。我已經測試過了,在設計數據表的時候 id字段類型為 int(2) 按理只能輸入2個數值,但是當我輸入第11個數字的時候是沒有報錯的,直到輸入12個數字的時候就報錯了。

 

mysql 默認 int 是11位。系統早已經設定好了。看這篇文章 http://blog.sina.com.cn/s/blog_855d75160102v2hl.html 文中提到:“ 注意一點的,Char,Varchar不像數值類型,有系統默認長度,所以必須在括號里定義長度,可以有默認值”

 

mysql是按字符個數計算的,不是按字節計算的。這個要記好。

 

字符串的長度: 
長度的單位為字符。一個多字節字符算作一個單字符。 

 

全文:http://wenda.tianya.cn/question/13b15725691c6c74

我使用 Navicat for MySQL 測試過了,如果char(10) 表示該字段可以存儲10個漢字,或者10個數字,或者10個英文字母。都是一樣對代的。如果該字段數值超出10位字符,(一個多字節的漢字也當作一個字符處理)也就是輸入11位將會報錯。varchar(10)也是如此。

 

特殊字符,例如星號,QQ特殊字符 沒有測試,應該也是同等對代的。其實我覺得,使用Navicat for mysql設置數據表的時候,字段長度軟件會自動設置默認值。

 

附:

mysql中char(1)括號中的1表示字節長度還是字符長度

http://zhidao.baidu.com/link?url=blIta2qALaajc3Pk_kvybGgIJCVS1iaooENWH-MJ8BP5Vf0KVYkMqWgT9SjDY6cKMAcRzGu1mSV-8lDONNijXYzVwhyhYtsYwl8FMUbSpfO

 

MySQL的varchar定義長度到底是字節還是字符

http://ju.outofmemory.cn/entry/43176 //把文中的“最大長度”替換為“最大字節”會更容易理解。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM