2

'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 では、ヒアドキュメント( <<<)を使用できます。

$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.
'''
4

1 に答える 1

3

''一重引用符をバックスラッシュでエスケープする( ) 代わりに、2 つの一重引用符を続けて使用することもできます ( \')。

私の知る限り、二重一重引用符以外に簡単な方法はありません。に相当するものはありません"""。これは悲しいことです。

しかし、ここで述べたように (時間を節約したい場合) 最善の策は、SQL ベースのソリューションをまったく使用しないことです。最も一般的なデータベースは、別の言語で記述されたプログラム、または別の言語で記述されたプログラムによって生成された SQL スクリプトによってアクセスされます。

準備済みステートメントをサポートせず、利便性のために少なくともいくつかの SQL エスケープ関数を備えた単一のプログラミング言語に出くわしたことはありません。

于 2014-05-27T20:42:44.117 に答える