php - 如何在 MySQL 中运行更新查询并替换匹配的字符串

标签 php mysql sql select phpmyadmin

我尝试了一些方法,但它删除了列中的完整内容。

这就是我想要做的 - 我的 MySQL 数据库中的一个特定表 [abc_tablename] 有一个列 [xyz_columnname],其中有很多电子邮件 ID(超过 5000 个),我希望他们将所有电子邮件 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。

最佳答案

您可以简单地使用此命令,这将更新 xyz_columnname 列包含 @ 的所有行以显示电子邮件 ID 已删除

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

Use ` (backquotes) for column name

Use ' or " for values

Don't use backticks with column values. use either single or double quotes otherwise mysql will consider that value as a column name.

关于php - 如何在 MySQL 中运行更新查询并替换匹配的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43668582/

相关文章:

php - 如何在 MySQL 中的 if (like) 条件下使用不同的表

php - PHP 中的多个 MySQL 查询,已跳过

SQL Server 查询 : Host name

sql - 甲骨文10g : parsing 2 columns merging duplicates

php - CodeIgniter 创建 MY_Controller

PHP/MySql 代码更简单更高效

mysql - 通过连接四列来更新 mysql 表

sql - 如何在新表的多行中插入同一行的不同值

php - 记录集中的第一条记录为空。为什么?

php - 如何使用 php 将 iOS 应用程序连接到 mySQL 数据库