如何在mysql中使用单引号和双引号值?

时间:2016-06-02 13:33:07

标签: mysql database

这是mysql查询

SELECT p_id, model_number, brand_name FROM tbl_products where model_number="Sha\"sha\'dd\"d"

我有以下表格和值enter image description here

你可以看到第二行有相同的值,但选择它时不起作用。任何帮助都将是值得欣赏的。

2 个答案:

答案 0 :(得分:1)

你必须使用反斜杠转义引号和反斜杠。

像这样:

where model_number="Sha\\\"sha\\\'dd\\\"d"

或者你可以简单地使用反引号作为值的引号,将字面上的值解释为原始字符串(这不是标准的SQL但在MySQL中有效):

where model_number=`Sha\"sha\'dd\"d`

答案 1 :(得分:1)

您可以看到此链接:http://dev.mysql.com/doc/refman/5.7/en/string-literals.html

根据表10.1

列出所有特殊字符转义序列和其他一些方法:

  

有几种方法可以在字符串中包含引号字符:

     带有“'”的字符串中的

“'”可以写成“''”。

     

“”在引用“”“的字符串中可以写成”“”“。

     

通过转义字符(“\”)来引用引号字符。

     引用“”“的字符串中的”p“不需要特殊处理   不需要加倍或逃脱。以同样的方式,“”在一个字符串内   引用“'”不需要特殊处理。

遵循此规则,您的SQL可以写成:

where model_number="Sha\\\"sha\\\'dd\\\"d"

"Sha\\""sha\\''dd\\""d"