2013-02-26 61 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