2013-02-26 62 views
0

这里更新语法正确的,但零行是我的数据:影响MySQL的

表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 

现在我想以填补表TAX1空tax_list与来自表GENUS的taxon_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 
+0

你正在运行哪些DBMS? – 2013-02-26 14:17:47

+0

MySQL - 对于信息不足的遗憾:( – 2013-02-26 14:21:23

+0

'Tax1.tax_schema',应该是'Tax1.tax'?还是有另一个字段? – 2013-02-26 14:30:44

回答

0

给这个一抡。

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

的变化:

此外,您如果它匹配> 1行,可能需要为选择添加一个限制1。

+0

坦克!它的工作极其完美! – 2013-02-27 14:32:19