将列从Base64更新为字符串(天然在SQL中)

时间:2018-11-19 18:11:51

标签: mysql sql mariadb

我已经尝试了两天了,非常感谢您的帮助。我已从csv导入数据,其中一个字段包含以base64编码的html数据。

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

如何构造查询:

  1. 遍历所有行
  2. 为每行呼叫FRON_BASE64
  3. 在同一行和同一列上运行UPDATE(或类似功能)

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

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

ALTER TABLE MyTable ADD COLUMN BinaryField BLOB;

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

UPDATE MyTable SET BinaryField = FROM_BASE64(EncodedField);