2

我有一个包含 2000 多种产品的产品描述数据库表,问题是当我从我的网站输入产品描述时有两个问题。数据库在每个双引号或半引号符号旁边生成多个反斜杠。每次我编辑产品时,反斜杠都会加倍。例如,经过 3-4 次编辑后看起来像这样:

它'\\\非常...

然后像....

它'\\\\\\非常...

等等...

我需要一些东西来从我的数据库中大量删除它们,因为手动删除它们需要几天时间。

还有第二个问题是

\r\n

字符,它们在每个旁边生成

<br> 或 <br/> 标签。

正如您可能想象的那样,这使我的数据库变得非常混乱并破坏了产品描述。我一直试图解决它很多次,研究等,但我无法理解它以及如何阻止它。

谁能帮我删除这些并阻止这种情况发生?

感谢您的帮助。问候

4

1 回答 1

2

有趣的是,您的 MySQL 上似乎有NO_BACKSLASH_ESCAPES模式。

如果我使用两个不同的 sql,我可以重现 SQL Fiddle 中的工作:

第一的:

CREATE TABLE A
(
  Name varchar(64)
);

SET sql_mode = 'ANSI';

INSERT INTO A (Name) VALUES('aaa \n\r bbbb')

第二:

CREATE TABLE A
(
  Name varchar(64)
);

SET sql_mode = 'NO_BACKSLASH_ESCAPES';

INSERT INTO A (Name) VALUES('aaa \n\r bbbb')

我运行这样一个简单的选择来证明:

SELECT Name FROM A

结果:

第一种情况: aaa bbbb

第二种情况: aaa \n\r bbbb

我希望它有所帮助。

有关更多信息,请检查MySQL sql 模式

当然对于现有的问题你可以使用一个简单的 REPLACE 函数结束。但是,如果您正确设置模式,它将不会再次发生!

于 2012-08-25T19:22:29.643 回答