在我的数据库中,我有my_table,列为introtext

一些记录包括一个跨度,我想删除:

<p><span style="line-height: 1.7142857148;">Text text text...</span></p>


而得到类似的东西:

<p>Text text text....</p>


我需要一个SQL查询来自动执行此操作。我正在尝试:

UPDATE my_table
SET introtext= REPLACE('introtext', '<span style="line-height: 1.7142857148;">','')

UPDATE my_table
SET introtext= REPLACE('introtext', '</span>','')


这将返回错误:

#1064 - You have an error in your SQL syntax;


我该如何构建一个查询,以从基础文本中删除跨度,而不管它具有哪种样式或类,而不会出现此错误?

最佳答案

你只是想念一个;在您的第一个查询之后,您不必引用前文字:

UPDATE my_table
SET introtext= REPLACE(introtext, '<span style="line-height: 1.7142857148;">','');

UPDATE my_table
SET introtext= REPLACE(introtext, '</span>','');


请参见here

10-08 06:30