首页 > 解决方案 > 将列从 Base64 更新为字符串(原生在 SQL 中)

问题描述

我已经试图解决这个问题两天了,非常感谢一些帮助。我从 csv 导入数据,其中一个字段包含以 base64 编码的 html 数据。

这个想法是遍历每一行并在其上运行 FROM_BASE64。

我如何构造一个查询:

  1. 循环遍历所有行
  2. 每行调用 FRON_BASE64
  3. 在同一行和同一列上运行 UPDATE(或类似功能)

上下文:我正在运行 MariaDB(相当于 MySQL)。

谢谢你的帮助!

标签: mysqlsqlmariadb

解决方案


通常 base64 将用于二进制数据。您可能不应该将解码后的数据存储在与 base64 编码字符串相同的列中。如有必要,您应该 ALTER TABLE 添加一个 VARBINARY 或 BLOB 类型的新列,以保存二进制数据。

ALTER TABLE MyTable ADD COLUMN BinaryField BLOB;

然后,您可以使用 UPDATE 语句填充该列:

UPDATE MyTable SET BinaryField = FROM_BASE64(EncodedField);

推荐阅读