MySQL documentation说它应该是\'
。但是,scite和mysql都显示''
有效。我看到了它,它的工作原理。我该怎么办?如何在MySql中跳过撇号(')?
回答
你居然引用MySQL的文件说,一点点比你更不在话下。它还说,
A“
'
”与“'
”援引一个字符串内可以写成“''
”。
(此外,您链接到MySQL 5.0 version of Table 8.1. Special Character Escape Sequences,而当前版本是5.6 - 但目前Table 8.1. Special Character Escape Sequences看起来很相似。)
我觉得Postgres note on the backslash_quote (string)
parameter是资料:
该控制是否可以用字符串文字中的
\'
表示引号。表示引号的首选SQL标准方式是将其加倍(''
),但PostgreSQL历史上也接受\'
。然而,使用\'
造成安全隐患......
那对我说,使用两个单引号字符是一个整体更好的和长期的选择,而不是用一个反斜杠逃逸单引号。
现在,如果您还想添加语言选择,SQL数据库选择及其非标准怪癖,并选择查询框架,那么您可能会选择不同的选择。您不会提供有关您的限制的更多信息。
+1我想使用标准。 – 2012-03-07 06:38:17
标准SQL使用加倍引号; MySQL必须接受合理的合规性。
'He said, "Don''t!"'
+1。它在哪里说它应该被''转义'而不是http://dev.mysql.com/doc/refman/5.0/en/string-literals.html#character-escape-sequences – 2012-03-07 06:19:36
它说“可能”而不是'should',但是信息在那里(在表格下面):_有几种方法可以在字符串中包含引号字符: 引用“'”'“引用的字符串中的”''“可以写为” ' '''”。 用“'”'“引用的字符串中的”'“'”可以写成“'”“'”。 在转义字符前面加上转义字符(“'\'”)._ – 2014-04-26 17:18:14
这是通过加倍转义撇号的最佳方法。 – 2016-06-02 07:50:48
下面是一个例子:
SELECT * FROM pubs WHERE name LIKE "%John's%"
只要用双引号括单引号。
如果您在使用单引号(和需要逃脱字符)坚持:
SELECT * FROM pubs WHERE name LIKE '%John\'s%'
这一个工作:
name = 'John O'Brien'
name = name.replace("\'", "\\\'")
很难相信,因为它什么都不做。 – EJP 2013-09-23 01:09:17
当user2087510发布它时,替换中的第二个斜杠无法显示。我刚刚提交了一个修正的修改。 – 2014-07-22 02:36:40
有三种方式我所知道的。第一不是最漂亮的,第二个是在大多数编程语言中常用的方法:'I mustn\'t sin!'
'
前'I mustn''t sin!'
\
:
- 使用另一个单引号引号中的字符串,而不是单引号:
"I mustn't sin!"
替换字符串
value = value.replace(/'/g, "\\'");
其中value是要存储在数据库中的字符串。
此外,
NPM包对于这一点,你可以看看它
尽管此链接可能回答此问题,但最好在此处包含答案的基本部分,并提供参考。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/17378096) – 2017-09-19 11:24:06
请不要只是发布一些工具或库作为答案。至少在答案中演示[它如何解决问题](http://meta.stackoverflow.com/a/251605)。 – 2017-09-19 11:24:19
这不提供问题的答案。要批评或要求作者澄清,请在其帖子下方留言。 - [来自评论](/ review/low-quality-posts/17378096) – 2017-09-19 11:30:31
我认为,如果你有撇号的任何数据点,你可以前加一个撇号撇号
例如。 “这是约翰的地方”
这里MySQL假设两句话“这是约翰的地方”
你可以把“这是约翰的地方”。我认为它应该以这种方式工作。
- 1. 如何在MySQL中跳过单引号
- 2. PHP撇号跳过了打破链接
- 3. 撇号在mysql/php
- 4. 在mysql中摆脱撇号?
- 5. 如何处理MySQL-Python中的撇号?
- 6. python mysql api撇号
- 7. 如何用双撇号替换撇号?
- 8. 如何在从MySQL中选择列时跳过引号。
- 9. 在mysql搜索中忽略撇号
- 10. 在全文搜索中的撇号mysql
- 11. 如何在Flash中跳过单引号?
- 12. 如何在ruby rxml中跳过分号
- 13. 如何通过MySql传递带撇号的C#变量
- 14. 如何在R中输入撇号(')到mysql数据库?
- 15. MySQL的反斜杠撇号
- 16. MySQL撇号的错误
- 17. 如何在字典中添加撇号
- 18. 如何在NuSOAP中传递撇号(')?
- 19. 如何在Python中使用撇号等?
- 20. aspx文件中的撇号撇号
- 21. mysql复制:如何跳过
- 22. 无法在参数化查询中跳过撇号/特殊字符
- 23. WordPress/MySQL - 将撇号输出为问号
- 24. 撇号替换为mySQL表中的'
- 25. 如何在jsp上跳过%符号?
- 26. 撇号在Haskell
- 27. 在PHP中,如何制作包含引号和撇号的mySQL select查询?
- 28. 在mysql数据库中存储撇号,感叹号等
- 29. 如何跳过mysql中的每一行?
- 30. 在PHP中取代撇号(')
你是在说“'''还是'\''是否正确? – Raptor 2012-03-07 06:11:53
'\''是MySQL专用的,''''是兼容ANSI SQL的,如果我没有弄错 – apokryfos 2015-10-20 11:32:35