我有一个值想存储在我的数据库中,排序规则对这样的字符串有什么影响吗
YToyOntzOjIwOiJUeXBlX29mX29yZ2FuaXNhdGlvbiI7czoyMDoiTWVtYmVyIG9mIFBhcmxpYW1lbnQiO3M6ODoiUG9zdGNvZGUiO3M6NzoiUEUxIDFKQSI7fQ==
可以保存吗?另外,我似乎能够将这些值写入数据库的唯一方法是使用BLOB
这似乎是一种非常错误的存储方式。
仅当您需要时,排序规则才会产生影响ORDER BY
或搜索栏目。这些 Base64 编码的项目可能不会被搜索或排序。
如果您的编码项的长度保证小于 64K 字节,请按如下方式定义您的列:
`columnname` TEXT CHARACTER SET ascii,
这正是 Base64 编码变量所需要的;编码过程将所有内容转换为可显示的 ASCII。
如果项目的长度小于 16 MB,但有些项目的长度超过 64k,请使用MEDIUMTEXT
代替TEXT
.
Edit多年后。
OQ编码的字符串,解码后是一个序列化的php对象:
a:2:{s:20:"Type_of_organisation";s:20:"Member of Parliament";s:8:"Postcode";s:7:"PE1 1JA";}
观察 1:很多此类内容都存储在文本列中,而没有使用 utf8 或 utf8mb4 字符集对其进行编码。很多?是的。 WordPress 以这种方式存储选项数据。
观察 2:如果可以将其转换为 JSON,则可以在最新版本的 MySQL 中使用 JSON 数据类型。 JSON 搜索仍然不可控制,但它们是结构化的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)