MYSQL:Binary和Blob之间的区别

时间:2011-09-14 19:31:33

标签: mysql

我正在尝试理解mysql数据类型,但我没有区分(Var-)BINARY数据字段和BLOB-Fields。这些类型之间有什么区别?

2 个答案:

答案 0 :(得分:15)

BLOB可以随心所欲。

另外,在线阅读MySQL手册:

  

BLOB和TEXT在以下方面与VARBINARY和VARCHAR不同:

     
      
  • BLOB和TEXT列没有删除空格   存储或检索值。在MySQL 5.0.3之前,这不同于   VARBINARY和VARCHAR,当删除尾随空格时   值存储。

  •   
  • 在比较中,TEXT是空间扩展的,以适应比较对象,   与CHAR和VARCHAR完全一样。

  •   
  • 对于BLOB和TEXT列的索引,必须指定索引前缀   长度。对于CHAR和VARCHAR,前缀长度是可选的。见章节   7.5.1,“列索引”。

  •   
  • BLOB和TEXT列不能包含DEFAULT值。

  •   

答案 1 :(得分:4)

binary和varbinary类型是二进制字符串,其实际值存储在表中。实际值blob(和text)类型存储在数据库的其他位置,其中256个字节的别名放在表中;因此,blob可以是“任意”大小(最大)。