php - 使用 PHP/MySQL 替换表中的多个字符串

标签 php mysql loops

我有一个名为 Products 的表包含产品标题。其中一些标题中有一些我想替换的单词。该表包含 6,000 多条记录。文本字符串可在 Title 中找到。栏目

ID | Title | Description | Price

我还有另一个表,名为 ReplaceText其中包含我正在搜索的字符串列表和新的文本字符串。 (例如小 | 微小)目前有 102 条记录。

ID | OldString | NewString

我想创建一个 PHP/MySQL 脚本来搜索 Title Products 中的字段用于匹配“OldString field in the”中的单词的表ReplaceText`表。

我尝试了各种方法,但都无法破解密码。请帮忙:)

提前谢谢您。

最佳答案

我建议采用以下方法,仅使用 SQL 查询。

首先,创建一个临时表 ProductsTMP,其中仅包含具有新 Title 的行 Products

CREATE TEMPORARY TABLE ProductsTMP AS
SELECT p.ID, r.NewString AS Title, p.Description, p.Price
FROM Products p INNER JOIN ReplaceText r ON p.Title = r.OldString;

然后,从原始 Products 表中删除旧行:

DELETE FROM Products
WHERE ID IN (SELECT ID FROM ProductsTMP);

最后,将 ProductsTMP 中的更新行添加到原始表 Products 中,并删除临时表:

INSERT INTO Products (ID, Title, Description, Price)
SELECT ID, Title, Description, Price FROM ProductsTMP;    
DROP TABLE ProductsTMP;

关于php - 使用 PHP/MySQL 替换表中的多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23042207/

相关文章:

MYSQL 命令行 SELECT INTO OUTFILE, LOAD DATA INFILE ... INTO TABLE 到 CSV,列中包含 html 数据

C++ while 循环和 for 循环不起作用

loops - 最小高度,最小宽度在不同图像方向上填充 div

swift - 在无限循环中等待自己,但用户每次都可以取消

javascript - PDFbox 可以在 html、php 和 javascript 中使用吗?

php - 在php代码中用python导入caffe

php - 使用Elastic Search-php突出显示 Elasticsearch 结果

javascript - 通过AJAX将html数据从div复制到MySQL数据库

mysql - 使用 "like"和 "match()"进行等效搜索

mysql - 如何将同一张表与其他 3 个表多次连接?