我有一张名为v3_product_description
的表格。
+------------+-------------+-------------+--------------------------------------------------------------------+----------+--------------------------------------------------------------------+--------------------+------------+--+
| product_id | language_id | name | description | tag | meta_description | meta_keywords | meta_title | |
+------------+-------------+-------------+--------------------------------------------------------------------+----------+--------------------------------------------------------------------+--------------------+------------+--+
| 1 | 2 | Test | descrition about product. Altijd op voorraad. further description. | tag | descrition about product. Altijd op voorraad. further description. | keywords | title | |
| 2 | 1 | test | Beschrijving over het product | tagsss | metabeschrijving Altijd op voorraad | keywords,and so on | title | |
| 3 | 2 | Tessdslfkjq | product description | moretags | metadescription Altijd op voorraad | keywords,bullshit | titlestuff | |
+------------+-------------+-------------+--------------------------------------------------------------------+----------+--------------------------------------------------------------------+--------------------+------------+--+
正如你们所看到的那样,短语Altijd op voorraad
在我的表中很常见(我在真实数据库中有超过8000行)。
Altijd op voorraad
为Immer auf Lager
,德语的language_id
为2
。
我试图在我的表格中搜索并替换该短语,因此我提出了这个问题:
SELECT product_id, language_id, name, description, tag, meta_title, meta_description, meta_keyword,
REPLACE(meta_description,'Altijd op voorraad','Immer auf Lager')
FROM v3_product_description
WHERE language_id = 2
此查询应将列Altijd op voorraad
中的每个meta_description
更改为Immer auf Lager
。但是一旦执行了,当我查看网店中的项目时,它似乎并没有这样做。
我做错了什么?如何在description
列应用相同的搜索/替换?我应该使用第二个查询执行此操作还是将这两个查询合并?
答案 0 :(得分:2)
您正在尝试更新列值,但正在使用选择查询。
在meta_description
列中替换字符串的正确方法是
UPDATE v3_product_description
SET meta_description= REPLACE (meta_description,'Altijd op voorraad','Immer auf Lager')
WHERE language_id = 2
希望这会有所帮助。 干杯!