我有一个名为 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/