數據庫
    mysql中經常用到的字段類型就是varchar和char。一般還會指定長度用來規定最長可以支持多長的內容。那么問題就來了。對于utf8字符集來講。一個字符所占的空間是1-6字節不等的。那么varchar(100)是指的字節數還是字符數呢?


    可以通過mysql官方文檔來看:
    http://dev.mysql.com/doc/refman/5.0/en/char.html
    

The CHAR and VARCHAR types are declared with a length that indicates the maximum number of characters you want to store. For example, CHAR(30) can hold up to 30 characters.

    即支持的是30個字符(characters),而不是30字節(bytes)

    經測試,結果也是符合文檔的。varchar(30)可以存儲30個漢字


    附加問題:如果傳入了超出長度的內容,會有什么結果。

If strict SQL mode is not enabled and you assign a value to a CHAR or VARCHAR column that exceeds the column's maximum length, the value is truncated to fit and a warning is generated.

     文檔中提到。默認情況下會截斷而不返回錯誤。如果需要返回錯誤,需要開啟strict mode










Tags: ,
分頁: 1/1 第一頁 1 最后頁 [ 顯示模式: 摘要 | 列表 ]
一级a做爰片_免费一级特黄大片_日本一级特黄大片 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>