我正在尝试理解mysql数据类型,但我没有区分(Var-)BINARY数据字段和BLOB-Fields。这些类型之间有什么区别?
答案 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可以是“任意”大小(最大)。