我有一个包含两个字段的mysql表。id
和recipients
。 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查询呢?
答案 0 :(得分:1)
为此,您可以处理以下两种情况: 'abc @ gmail.com.com,'和',abc @ gmail.com.com'
因此,如果数据库名称是MyDb,并且您需要运行更新,请考虑:
UPDATE MyDb
SET recepients = REPLACE(REPLACE(recepients, ',abc@gmail.com', ''), 'abc@gmail.com,', '')