新しい行を含むデータをテキスト列に挿入する必要があります。通常の挿入を行う... VALUES(E'Here comes a \\n new line)
場合、クエリを実行すると次のようになります。
Here Comes a
new line
ただし、次のような準備済みステートメントを使用する場合:
my $sth = $dbh->prepare("INSERT INTO foo_table (foo_id, foo_bar_id, foo_text) VALUES (?, ?, ?)");
my @data = (1, 9999, "E'Here comes a \\n new line'");
$sth->execute(@data);
挿入されるデータは文字通りです。文字のエスケープが問題であるかどうかを確認E'Here comes a \n new line'
するために、挿入する値をさまざまにポイ捨てしようとしまし\
たが、問題がある場合は、まだ正しい組み合わせを見つけていません。ご協力いただきありがとうございます。
EDIT2:\
準備されたステートメントを使用する場合、1つだけ必要であることがわかりました。どうやら、より複雑なエスケープ シーケンスをすべて試したときに、最も簡単な解決策を見落としていたようです。
編集:以下の回答で言及されているエスケープでは、望ましい結果が得られません。Here comes a \n new line
クエリされていない場合に生成されます
Here comes a
new line
E'...'
構文を使用するときのように