在MySQL INSERT INTO文本中添加换行符

Muh*_*mer 67 mysql newline insert-into

有人能告诉我如何在我在MySql表中输入的文本中添加新行吗?

我尝试使用'\n'我在INSERT INTO语句中输入的行,但'\n'显示为原样.

实际上我已经在MS Access中创建了一些带有一些数据的表.MS Access添加新行'\n'.我正在将MS Access表数据转换为MySql.但是当我转换时,'\n'当我从PHP表单上的MySql表中显示它时,忽略了所有文本显示在一行中.

谁能告诉我MySQL如何在文本中添加新行?等待回复,谢谢!!

Don*_*kby 67

如果您使用跨多行传播的SQL命令,那么oedo的建议是最简单的:

INSERT INTO mytable (myfield) VALUES ('hi this is some text
and this is a linefeed.
and another');
Run Code Online (Sandbox Code Playgroud)

我只是有一种情况,最好将SQL语句全部放在一行,所以我发现它的组合CONCAT_WS()CHAR()工作对我来说.

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


chr*_*ris 31

在实际的SQL查询中,您只需添加换行符

INSERT INTO table (text) VALUES ('hi this is some text
and this is a linefeed.
and another');
Run Code Online (Sandbox Code Playgroud)


小智 20

为了记录,我想在现有数据中添加一些换行符,我开始\n工作了......

样本数据:

Sentence. Sentence. Sentence
Run Code Online (Sandbox Code Playgroud)

我做了:

UPDATE table SET field = REPLACE(field, '. ', '.\r\n')
Run Code Online (Sandbox Code Playgroud)

但是,它也适用于公正\r和公正\n.

  • 不幸的是,如果你的文字中有缩写词,例如"史密斯先生",它将被分成2行. (4认同)

xtd*_*tds 11

INSERT INTO test VALUES('a line\nanother line');
Run Code Online (Sandbox Code Playgroud)

\n 这里工作得很好


sta*_*af1 10

在大多数情况下,MySQL可以很好地记录换行符,但问题是,您需要<br />在实际字符串中使用标记来显示中断.由于您提到了PHP,因此可以使用该nl2br()函数将换行符(" \n")转换为HTML <br />标记.

只需像这样使用它:

<?php
echo nl2br("Hello, World!\n I hate you so much");
?>
Run Code Online (Sandbox Code Playgroud)

输出(以HTML格式):

Hello, World!<br>I hate you so much
Run Code Online (Sandbox Code Playgroud)

这是手册的链接:http://php.net/manual/en/function.nl2br.php

  • 注意:默认的`&lt;br&gt;`样式实际上是`&lt;br /&gt;` (2认同)

小智 6

INSERT INTO myTable VALUES("First line\r\nSecond line\r\nThird line");
Run Code Online (Sandbox Code Playgroud)


Dav*_*d M 5

首先,如果您希望它显示在 PHP 表单上,则媒体是 HTML,因此将使用<br />标记呈现一个新行。检查页面的源 HTML - 您可能将新行呈现为换行符,在这种情况下,您的问题只是将输出文本翻译到 Web 浏览器。