2017-02-24 56 views
3

同表中的其他列的列值我有一個表: -更新一行在MySQL

+----------+--------------+-------------------+-----------+ 
| IsActive | IsFirstChunk | TotalResponseTime | StallTime | 
+----------+--------------+-------------------+-----------+ 
| Yes  | Yes   | 62    | NULL  | 
| NULL  | NULL   | 327    | 0   | 
| NULL  | NULL   | 59    | 0   | 

我要填寫列StallTime與TotalResponseTime價值的行,只有其列行IsActive和IsFirstChunk標是的,所以我的表如下所示: -

+----------+--------------+-------------------+-----------+ 
| IsActive | IsFirstChunk | TotalResponseTime | StallTime | 
+----------+--------------+-------------------+-----------+ 
| Yes  | Yes   | 62    | 62  | 
| NULL  | NULL   | 327    | 0   | 
| NULL  | NULL   | 59    | 0   | 

回答

1

您可使用指定的TotalResponseTimeStallTime價值簡單的更新語句,其中IsActiveIsFirstChunkyes

update tbl set StallTime=TotalResponseTime where 
    IsActive='Yes' and IsFirstChunk='yes'; 
0

試試這個,

Update table set StallTime = TotalResponseTime where IsActive = 'Yes' 
AND IsFirstChunk = 'Yes' 

像另外null值替代方式,空的,沒有什麼再嘗試

Update table set StallTime = TotalResponseTime where IsActive <> '' AND IsFirstChunk <> '' 

試試看吧,這應該工作。

0

您可以通過應用where條款中的條件來做到這一點。 如果IsActive和IsFirstChunk匹配 '是'

update a1 
set stallTime = TotalResponseTime 
where IsActive in ('yes') and IsFirstChunk in ('yes'); 

另一種方式

update a1 
set stallTime = TotalResponseTime 
where IsActive is not null and IsFirstChunk is not null;