我正在尝试使用
更新字段UPDATE table set field='some_variable' where id=1;
这里的问题是some_variable包含其中包含多个特殊字符的数据。所以我无法使用'some_variable'或“some_variable”,因为当它遇到第一个相同的字符('或')时它会中断并失败。我怎么能克服这个?
感谢。 麦克
答案 0 :(得分:1)
有两种解决方案,第一种是使用mysql_real_escape_string()
,第二种是使用预备语句。你没有提到你的编程语言是什么,但它肯定支持预备语句或真正的转义。
除了真正的转义,如果你的字段是char或varchar,你应该按如下方式修改你的查询:
UPDATE table set field='some_variable' where id=1;
答案 1 :(得分:0)
通常,您只需要转义保留字符 - 请参阅MySQL docs以获取具体参考。如果您直接执行查询(即:在mysql shell中),则必须手动转义。大多数语言都会提供一个函数来逃避 - 例如,在PHP中,它是mysql_real_escape_string()
。