我有一个包含2000多种产品的产品描述的数据库表,问题是当我从我的网站输入产品描述时有两个问题。 数据库在每个双引号或半引号符号旁边生成多个反斜杠。 每次我编辑产品时,反斜杠都会加倍。例如,在3-4次编辑之后看起来像这样:
这是一个非常......
然后就像....
非常......
等等......
我需要从我的数据库中大量删除它们,因为手动删除它们需要数天时间。
另外第二个问题是
\ r \ n
字符,在每个
旁边生成< br>或者< br />标签。
正如您可能想象的那样,这会使我的数据库非常混乱并破坏产品描述。我一直试图解决它,研究等但我无法理解它以及如何阻止它。
任何人都可以帮我删除这些并阻止这种情况发生吗?
非常感谢您的帮助。 此致
答案 0 :(得分: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 \ nbbbb
我希望它有所帮助。
有关信息,请查看MySQL sql modes!
对于现有问题的结束当然可以使用简单的REPLACE函数。但如果你正确设置模式,它将不会再发生!