如何删除字段中间的文本-Mysql查询

时间:2013-10-10 04:27:05

标签: mysql sql database

我有一个包含两个字段的mysql表。idrecipients。 recipients字段包含逗号分隔值(eg:abc@gmail.com,def@gmail.com,ghi@gmail.com)的电子邮件。该表包含30000行。我想从所有行中删除一个特定的电子邮件ID(如果存在)。

可能会发生三种情况 1)的 abc@gmail.com 下,DEF @ gmail.com,GHI @ gmail.com
2)def@gmail.com,的 abc@gmail.com 下,fgh2gmail.com
3)def @ gmail.com,abc @ gmail.com, abc@gmail.com

要求是,我想从所有行中删除 abc@gmail.com 。 我知道如何附加一封电子邮件

  

更新报告_ SET recipients = CONCAT('abc @ gmail.com.com,',收件人);

删除电子邮件ID时,也应删除逗号。我怎么能用Mysql查询呢?

1 个答案:

答案 0 :(得分:1)

为此,您可以处理以下两种情况: 'abc @ gmail.com.com,'和',abc @ gmail.com.com'

因此,如果数据库名称是MyDb,并且您需要运行更新,请考虑:

UPDATE MyDb
SET recepients = REPLACE(REPLACE(recepients, ',abc@gmail.com', ''), 'abc@gmail.com,', '')