如果我不知道文本的长度,如何使用 varbinary

Tho*_*ams 3 mysql encryption text aes varbinary

我想在 mysql 中使用 AES 加密文本,但我有一个小问题,因为您需要使用 varbinary 来存储这些。

我的一些数据类型是 varchar,是的,我可能可以为这些计算出我的 varbinary 的长度。然而,对于我的地址字段,我使用 TEXT 数据类型,因为我们存储了中文地址,而且这些地址可能很长。我使用 TEXT 数据类型是因为您不需要在 mysql 中指定长度。

问题是,使用 varbinary 时,您需要指定长度,而我真的不知道长度,因为地址可以是任意长度。

是否有某种二进制数据类型可以用于 AES,而不必指定数据的长度?

Mjh*_*Mjh 5

根据评论 - 您需要BLOB数据类型,它是Binary Large Object 的缩写(感谢 Maarten Bodewes 的澄清)。

BLOB数据类型将不字符集存储与信息和相当于TEXT类型,没有一个字符集。正如评论中提到的,还有其他类型,例如MEDIUMBLOB, TINYBLOB, LARGEBLOB,它们都在MySQL 的手册页中介绍