使用Python的三重引号字符串,我可以定义包含'
,反引号或"
的字符串,而无需关心它:
hello = """
This string is bounded by triple double quotes (3 times ").
Unescaped newlines in the string are retained, though
it is still possible to use all normal escape sequences.
Whitespace at the beginning of a line is
significant.
This string ends in a newline.
"""
在PHP中我可以使用heredoc(<<<
):
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;
我如何在MySQL中做同样的事情?现在我必须确保我逃脱了我用来划分的角色,例如如果我使用'
作为分隔符,我必须在我的字符串中使用\'
:
UPDATE article
SET article_text ='
Extra-virgin olive oil is a staple in any chef\'s kitchen.
'
我希望能够像
一样UPDATE article
SET article_text ='''
Extra-virgin olive oil is a staple in any chef's kitchen.
'''
答案 0 :(得分:3)
您还可以连续使用两个单引号(''
)而不是反斜杠 - 转义单引号(\'
)。
除了双单引号外,据我所知,还有一种更简单的方法。没有相当于"""
的内容。这很难过。
但真正最好的选择(如果你想节省时间),如here提到的那样,根本不使用任何基于SQL的解决方案;最常见的数据库是由用另一种语言编写的程序访问的,或者是由用另一种语言编写的程序生成的SQL脚本访问的。
我还没有碰到一种不支持prepared statements的编程语言,为方便起见,至少有一些SQL转义函数。