mysql - 将列从 Base64 更新为字符串(原生在 SQL 中)
问题描述
我已经试图解决这个问题两天了,非常感谢一些帮助。我从 csv 导入数据,其中一个字段包含以 base64 编码的 html 数据。
这个想法是遍历每一行并在其上运行 FROM_BASE64。
我如何构造一个查询:
- 循环遍历所有行
- 每行调用 FRON_BASE64
- 在同一行和同一列上运行 UPDATE(或类似功能)
上下文:我正在运行 MariaDB(相当于 MySQL)。
谢谢你的帮助!
解决方案
通常 base64 将用于二进制数据。您可能不应该将解码后的数据存储在与 base64 编码字符串相同的列中。如有必要,您应该 ALTER TABLE 添加一个 VARBINARY 或 BLOB 类型的新列,以保存二进制数据。
ALTER TABLE MyTable ADD COLUMN BinaryField BLOB;
然后,您可以使用 UPDATE 语句填充该列:
UPDATE MyTable SET BinaryField = FROM_BASE64(EncodedField);
推荐阅读
- c++ - 说“内在”只是对编译器的建议是否正确?
- go - 将指针传递给接口时函数抛出错误?
- reactjs - 在 createStackNavigators 中的抽屉路径中获取图标 initialRoute 嵌套在 createDrawerNavigator 中
- c# - 获取特定应用程序的屏幕截图(Android 模拟器)
- unity3d - Unity 中的 ThreeJS 着色器
- python - 使用 pybind11,如何将我的代码拆分为多个模块/文件?
- regex - 如何用一个正则表达式提取字符串?
- python - 如何使用 SQLAlchemy 将新记录插入到有关每个现有数据的关联表中
- java - java selenium - 导航到分页表上未显示的页码
- jms - 如果在带有 XA 和 RA 的 MDB 上没有提交待处理,ActiveMQ 会丢失消息