更新语法,但零行影响了MySQL

问题描述 投票:0回答:1

这是我的数据:

表TAX1

tax           | tax_list

abc_132       | empty   
cda_456       | empty    
akc_896       | empty 

表格

taxon_list    | taxon_schema

Bees          | abc_132 cda_456    
Elefants      | akc_896

现在我想用表GENUS中的taxon_list填充表TAX1中的空tax_list,其中表TAX1条目的税收发生在TABLE GENUS的taxon_schema中。

我尝试了以下解决方案;语法似乎是正确的,但我得到“0行受影响”,因此没有任何变化!

update Tax1 set Tax1.tax_list=(select genus.taxon_list from genus where Tax1.tax_schema like concat('%genus.taxon_schema%'));

它应该如下所示:

tax                  |    tax_list

abc_132              | Bees    
cda_456              | Bees
akc_896              | Elefants 
mysql rows concat
1个回答
0
投票

给它一个旋转。

update Tax1
  set Tax1.tax_list=(
    select genus.taxon_list from genus where genus.taxon_schema like concat('%', Tax1.tax, '%'));

变化:

此外,如果匹配> 1行,您可能希望在select中添加LIMIT 1。

© www.soinside.com 2019 - 2024. All rights reserved.