Mysql 用引号更新部分文本

Mysql 用引号更新部分文本,mysql,sql,Mysql,Sql,如何更改表中的值: name=\“kjname\”type=\“email\” 在 name=\“kjname\”type=\“text\ 当我尝试此请求时: UPDATEtableSETcolumn=REPLACE(列,“email”,“text”),其中列“%name=\%%%kjname\%%%type=\%%%email\%%ESCAPE'\'”; 替换“文本”中的所有“电子邮件”。但我只需要在有以下内容的行中进行更改:name=\“kjname\”type=\“email\ 谢谢如果您

如何更改表中的值:

name=\“kjname\”type=\“email\”

name=\“kjname\”type=\“text\

当我尝试此请求时:

UPDATE
table
SET
column
=REPLACE(列,“email”,“text”),其中列“%name=\%%%kjname\%%%type=\%%%email\%%ESCAPE'\'”;

替换“文本”中的所有“电子邮件”。但我只需要在有以下内容的行中进行更改:
name=\“kjname\”type=\“email\


谢谢

如果您使用的是MySQL 8+,那么我建议使用
REGEXP\u REPLACE
替换正则表达式:

UPDATE yourTable
SET column = REGEXP_REPLACE(col, 'name="([^"]+)" type="email"', 'name="$1" type="text"');


不幸的是。MySQL版本-5.7.21-20您确实需要替换正则表达式,才能以安全、准确的方式进行更新。