乐闻世界logo
搜索文章和话题

How to escape single quotes in MySQL?

4 个月前提问
4 个月前修改
浏览次数27

1个答案

1

在MySQL中,当我们需要在字符串中使用单引号时,我们需要对单引号进行转义以避免语法错误或SQL注入攻击。单引号在MySQL字符串中可以通过在它前面添加另一个单引号来转义。

例如,假设我们有一个表格 users,具有列 nameage,我们需要插入名字包含单引号的数据,如 "O'Reilly":

sql
INSERT INTO users (name, age) VALUES ('O''Reilly', 35);

在这个例子中,为了在字符串 "O'Reilly" 中包含单引号,我们在 ' 之前再加了一个 ',从而避免了SQL解析错误。

还有一种方式是使用反斜杠 \ 作为转义字符:

sql
INSERT INTO users (name, age) VALUES ('O\'Reilly', 35);

但是,这种方法需要确保 MySQL 服务器的 sql_mode 没有启用 NO_BACKSLASH_ESCAPES,在这种模式下,反斜杠不再被当作转义字符。

总结来说,推荐使用两个单引号 '' 来转义单引号,因为这种方式在所有配置下都是安全可靠的。

2024年8月7日 00:05 回复

你的答案