【发布时间】:2014-03-25 20:38:12
【问题描述】:
我试图了解 mysql 数据类型,但我不明白 (Var-)BINARY 数据字段和 BLOB 字段之间的区别。这些类型有什么区别?
【问题讨论】:
标签: mysql
我试图了解 mysql 数据类型,但我不明白 (Var-)BINARY 数据字段和 BLOB 字段之间的区别。这些类型有什么区别?
【问题讨论】:
标签: mysql
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 值。
【讨论】:
binary 和 varbinary 类型是二进制字符串,其实际值存储在表中。实际值 blob(和文本)类型存储在数据库中的其他位置,该插槽的 256 字节别名被放置在表中;因此,blob 可以是“任何”大小(最大)。
【讨论】: