91

MySql テーブルに入力したテキストに新しい行を追加する方法を教えてもらえますか?

ステートメント'\n'で入力した行で を使用しようとしましたが、そのまま表示されます。INSERT INTO'\n'

実際に、いくつかのデータを使用して MS Access でテーブルを作成しました。MS Access は で新しい行を追加し'\n'ます。MS Access テーブル データを MySql に変換しています。しかし、変換すると'\n'、PHPフォームのMySqlテーブルから表示すると、すべてのテキストが無視され、すべてのテキストが1行に表示されます。

MySQL がテキストに新しい行を追加する方法を誰か教えてもらえますか? 応答を待っています、ありがとう!!

4

12 に答える 12

81

複数の行にまたがる SQL コマンドに問題がない場合は、oedo の提案が最も簡単です。

INSERT INTO mytable (myfield) VALUES ('hi this is some text
and this is a linefeed.
and another');

CONCAT_WS()SQL ステートメントをすべて 1 行にまとめたほうがよい状況があったので、との組み合わせがうまくいくことがわかりましCHAR()た。

INSERT INTO mytable (myfield) VALUES (CONCAT_WS(CHAR(10 using utf8), 'hi this is some text', 'and this is a linefeed.', 'and another'));
于 2011-02-11T18:10:20.713 に答える
36

実際の SQL クエリでは、改行を追加するだけです

INSERT INTO table (text) VALUES ('hi this is some text
and this is a linefeed.
and another');
于 2010-05-25T07:54:54.860 に答える
26

記録のために、既存のデータにいくつかの改行を追加したかったので、\n問題なく動作しました...

サンプルデータ:

Sentence. Sentence. Sentence

やった:

UPDATE table SET field = REPLACE(field, '. ', '.\r\n')

ただし、 just\rおよび justでも機能しました\n

于 2010-12-10T16:52:56.170 に答える
17
INSERT INTO test VALUES('a line\nanother line');

\nここでうまく動作します

于 2012-05-03T14:39:36.213 に答える
5

まず、PHP フォームに表示する場合、媒体は HTML であるため、新しい行が<br />タグでレンダリングされます。ページのソース HTML を確認してください。新しい行が改行としてレンダリングされている可能性があります。この場合、問題は単にテキストを Web ブラウザーに出力するための翻訳にあるだけです。

于 2010-05-25T07:53:43.877 に答える
2

SQLまたはMySQLでは、charまたはchr関数を使用して、キャリッジリターンラインフィード用の\nASCII13を入力できます。しかし、@ David Mが述べているように、HTMLにこのブレークを表示させたいと考えている可能性が高く、brが機能します。

于 2010-05-25T08:15:34.127 に答える
1
  1. データベースに挿入する前\nに置き換える必要があります。<br/>

    $data = str_replace("\n", "<br/>", $data);

    この場合、データベース テーブルでは<br/>改行の代わりに表示されます。

    例えば

    First Line
    Second Line

    次のようになります。

    First Line<br/>Second Line

  2. 改行でデータを表示する別の方法。最初にデータベースからデータを読み取ります。そして、例えば次のように置き換え\nます<br/>

    echo $data;
    $data = str_replace("\n", "<br/>", $data);
    echo "<br/><br/>" . $data;

    出力:

    First Line Second Line

    First Line
    Second Line


    関数 str_replace() の詳細については、http://php.net/manual/en/function.str-replace.php を参照してください

于 2012-06-14T08:02:26.440 に答える
0

与えられた答えに追加 @DonKirby

INSERT INTO mytable (myfield) VALUES (CONCAT_WS(CHAR(10 using utf8), 'hi this is some text', 'and this is a linefeed.', 'and another'));

不要です

関数は値のCHAR()完全なセットを受け入れませんutf8。値のみを受け入れASCIIます。

参照 - https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_char

したがって、より適切なのはCHAR(10 USING ASCII)、代わりに使用することですCHAR(10 USING utf8)

于 2021-10-02T22:34:33.190 に答える
-3

\nすべてをタグに置き換えるだけ<br/>で、ページが表示されたときに行が途切れます。

UPDATE table SET field = REPLACE(field, '\n', '<br/>')
于 2012-05-04T10:34:30.523 に答える