Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用mysql使用另一个列表替换列表中的多个行值_Mysql - Fatal编程技术网

使用mysql使用另一个列表替换列表中的多个行值

使用mysql使用另一个列表替换列表中的多个行值,mysql,Mysql,我正在尝试更新一个表,该表有许多行,列名为“sku”。我有一个现有“sku”值的完整列表,我想将它们全部更改为另一个值,我也有一个列表。我在电子表格中匹配了这两个列表,并将它们配对。例如: 旧SKU值|新SKU值 |'old1' | 'new1'| |'old2' | 'new2'| |'old3' | 'new3'| ... 等等 新旧名称具有不同的值,因此我不能将单词“old”替换为“new”,因此我需要使用一组完全成对的值 我很好地构建了许多行的“replace”调用,并尝试了以下方法,

我正在尝试更新一个表,该表有许多行,列名为“sku”。我有一个现有“sku”值的完整列表,我想将它们全部更改为另一个值,我也有一个列表。我在电子表格中匹配了这两个列表,并将它们配对。例如:

旧SKU值|新SKU值

|'old1' | 'new1'|
|'old2' | 'new2'|
|'old3' | 'new3'|
...
等等

新旧名称具有不同的值,因此我不能将单词“old”替换为“new”,因此我需要使用一组完全成对的值

我很好地构建了许多行的“replace”调用,并尝试了以下方法,但这不是有效的语法

update tf_table
set sku = replace (sku, 'old1', 'new1'),
set sku = replace (sku, 'old2', 'new2'),
set sku = replace (sku, 'old3', 'new3');
...

我在另一张票据中看到嵌套替换调用是可能的,但这将是一组非常深入的嵌套调用,因为这两个列表每个都包含超过250个值。它不一定要有效率,它是一次性的。感谢您的帮助。

用替换列表创建一个表,然后使用该表进行更新。如
在tf_table.sku=replace_table.old_sku_value SET tf_table.sku=replace_table.new__value上更新tf_table内部连接replace_table