我尝试了一些方法,但它删除了列中的完整内容。
这就是我想要做的 - 我的 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/