我可以在文本数据类型的可用列中插入qoutes吗

时间:2019-06-08 10:29:44

标签: mysql

这就像我想从连接到后端的前端输入html实时编码,但是当我使用包含等号和引号的锚点和图像时,mysql会给出错误信息

1 个答案:

答案 0 :(得分:0)

我也玩了一段时间这个问题。我发现最简单的解决方案是使用TO_BASE64()将html编码为base64并将其存储。然后,当您想要再次返回时,只需再次对其解码即可。

Base64编码将一个字符串编码为仅包含“普通”字母字符的另一个字符串,因此非常适合存储包含MySQL否则将其解释为转义字符的字符的字符串

例如,要插入文本'html = \'<>',您将执行类似的操作

INSERT INTO test (html)
VALUES
   (TO_BASE64('html = \' < > ')   ) ;

这实际上将存储字符串aHRtbCA9ICcgPCA+IA==

然后将其恢复为真实的html,我们使用FROM_BASE64()

对其进行解码
SELECT FROM_BASE64(html) AS html FROM test;

(这适用于mysql ver 5.6)