【发布时间】:2019-09-17 07:28:40
【问题描述】:
现在我正在尝试学习 MySQL 的详细信息。 BINARY 类型需要的存储字节数与通过其参数提供的一样多,因此,例如,如果我将列定义为 BINARY(8),它会消耗 8 个字节。
在https://dev.mysql.com/doc/refman/8.0/en/storage-requirements.html#data-types-storage-reqs-strings 网站上,有一个表将类型映射到它们的存储要求。它说我可以定义一个 BINARY(0)。但在我看来,这没有意义。 BINARY(0) 意味着我可以存储 0 个字节 - 所以什么也没有。我错过了什么吗?它有什么用处?或者是什么原因?
另一方面,我不能定义比 255 字节更大的 BINARY 列。我一直认为 255 的原因是您从 0 开始计数。但是当您不需要 BINARY(0) 时,您可以毫无问题地定义 BINARY(256)...
【问题讨论】:
-
请不要在一篇文章中问两个问题。
-
请记住该列可以为空。
-
“我无法定义比 255 字节更大的 BINARY 列。” 如果您需要更大,只需使用
BLOB(最大 65,535 字节)即可。
标签: mysql sqldatatypes