如何在MySQL中使用包含转义字符的字符串的UPDATE

时间:2015-04-21 13:48:28

标签: mysql

请看这里:

    UPDATE cars_tbl 
SET description = '{\rtf1'
WHERE (ID=1)

描述字段是" blob",我的RTF文档将被存储。

当我检查更新的数据时,我总能找到

{
tf1

\ r只是消失了。我试图在网上找到解决方案,但没有成功。我的rtf文件在很多地方都被破坏了,因为字符串中使用的转义符被替换。如何使用字符串来抑制此替换和更新字段?

Thanx寻求建议

Lyborko

2 个答案:

答案 0 :(得分:4)

反斜杠是一个转义字符,所以为了保持它你需要一个双反斜杠:

UPDATE cars_tbl 
SET description = '{\\rtf1'
WHERE (ID=1)

旁边\r是一个回车..它并没有在你的数据中消失;它负责tf1下面一行显示{

答案 1 :(得分:0)

您可以使用更通用的方法来实现这一目标

在mysql中使用 QUOTE()

MySQL QUOTE()生成一个字符串,它是SQL语句中正确转义的数据值,用户提供的字符串作为参数。

该函数通过用单引号括起字符串,并用每个单引号,反斜杠,ASCII NUL和带有反斜杠的control-Z来实现这一点。

示例

UPDATE cars_tbl SET description = QUOTE('{\rtf1') WHERE (ID=1)

<强>更新

要逃避您的RTF,您也可以这样使用 REPLACE ,这样\将成为\\

示例

UPDATE cars_tbl SET description = REPLACE('{\rtf1', '\', '\\') WHERE (ID=1)