MySQL эквивалент строк Python в тройных кавычках?

Используя строки 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.
'''

1 ответ

Вы также можете использовать две одинарные кавычки подряд (''вместо экранирования от одиночной кавычки (\').

Насколько я знаю, кроме двойных одинарных кавычек нет более простого пути. Там нет эквивалента """, Что грустно

Но на самом деле ваша лучшая ставка (если вы хотите сэкономить время), как упомянуто здесь, не использовать какое-либо решение на основе SQL вообще; к базам данных чаще всего обращаются программы, написанные на другом языке, или сценарии SQL, сгенерированные программами, написанными на другом языке.

Я не сталкивался ни с одним языком программирования, который не поддерживает подготовленные операторы и, по крайней мере, имеет некоторые функции для выхода из SQL для удобства.

Другие вопросы по тегам