在MySQL文档说,它应该是\'.但是,scite和mysql都显示''有效.我看到了它,它的工作原理.我该怎么办?
Jim*_*unt 169
你引用的MySQL文档实际上比你提到的要多一点.它还说,
A"
'"加引号的字符串内"'"可以写为"''".
(另外,您链接到表8.1的MySQL 5.0版本.特殊字符转义序列,当前版本是5.6 - 但是当前的表8.1.特殊字符转义序列看起来非常相似.)
我认为关于backslash_quote (string)参数的Postgres注释是提供信息的:
这可以控制引号是否可以用
\'字符串文字表示.表示引号的首选SQL标准方法是将它加倍(''),但PostgreSQL历来也接受了\'.但是,使用\'会产生安全风险......
这告诉我,使用加倍的单引号字符比使用反斜杠逃避单引号更好的整体和长期选择.
现在,如果您还想添加语言选择,SQL数据库的选择及其非标准怪癖,并选择查询框架,那么您最终可能会选择不同的选择.您没有提供有关约束的大量信息.
Jon*_*ler 36
标准SQL使用双引号; MySQL必须接受合理的合规性.
'He said, "Don''t!"'
Run Code Online (Sandbox Code Playgroud)
小智 9
我相信user2087510的意思是:
name = 'something'
name = name.replace("'", "\\'")
Run Code Online (Sandbox Code Playgroud)
我也成功地使用了它.
我知道有三种方式。第一个不是最漂亮的,第二个是大多数编程语言中的常用方法:
'I mustn''t sin!'\在单引号前使用转义字符':'I mustn\'t sin!'"I mustn't sin!"小智 6
下面是一个例子:
SELECT * FROM pubs WHERE name LIKE "%John's%"
Run Code Online (Sandbox Code Playgroud)
只需使用双引号将单引号括起来即可。
如果您坚持使用单引号(并且需要对字符进行转义):
SELECT * FROM pubs WHERE name LIKE '%John\'s%'
Run Code Online (Sandbox Code Playgroud)