如何在MySQL中运行Update Query并替换匹配的字符串

时间:2017-04-27 21:58:09

标签: php mysql sql select phpmyadmin

我尝试了几件事,但它删除了专栏中的完整内容。

这就是我想要做的事情 - 我的MySQL数据库中的一个特定表[abc_tablename]有一个列[xyz_columnname],它有很多电子邮件ID(超过5000),我希望他们用一个电子邮件ID替换所有电子邮件ID文本[已删除电子邮件ID]

我对SELECT使用了以下查询:

SELECT * 
  FROM abc_tablename
 WHERE xyz_columnname LIKE '%@%'

在这种情况下如何执行替换功能?你可以帮我查询一下吗?我尝试了这个,但它删除了xyz_columnname

中的所有数据
UPDATE abc_tablename 
   SET xyz_columnname = REPLACE (  xyz_columnname,  LIKE ''%@%'',  '**email ID removed**');

我正在使用PHPMyAdmin来运行这些查询。另外,请注意xyz_columnname包含大量文本和数字内容以及电子邮件ID。

1 个答案:

答案 0 :(得分:1)

您只需使用此命令,这将更新列xyz_columnname包含@的所有行,以显示email ID Removed

UPDATE abc_tablename 
    SET `xyz_columnname` = 'email ID removed'
    WHERE `xyz_columnname` LIKE '%@%'
  

使用`(反引号)作为列名

     

使用'或"对于值

     

不要使用带有列值的反引号。使用单引号或双引号,否则mysql会将该值视为列名。