2016-12-05 52 views
-1

我有富人2列名爲「姓名」和「CITY_NAME」, 萬一「CITY_NAME」是一個表的空更新/設置爲「名稱」的值相同。在MySQL中,我可以創建某種if語句並更新我想要的方式?更新空柱是其它式柱的相同值

+1

http://stackoverflow.com/help/how-to-ask您需要證明你的努力... –

+0

是的,你使用'WHERE'來實現你想要的。 'UPDATE ... SET CITY_NAME = name其中CITY_NAME = '';' – Qirel

+0

的@Qirel類。如果OP的列有NULL值,那麼如果在那裏有NULL值,則不認爲'''是空的。 –

回答

1

你需要一個CASE陳述喜歡這裏

update table1 
set city_name = case when city_name is null then name else city_name end; 

(OR)只使用一個WHERE條款

update table1 
set city_name = name 
where city_name is null; 
+0

我想你錯過了where子句。 '如果「city_name」爲空更新/設置爲「name」的相同值'可以在city_name爲空時僅保存一些IO。 – xQbert

+1

@xQbert,編輯有意義嗎? – Rahul

+0

這將取決於什麼是空的Pedro手段。如果''那麼沒有,如果爲空則是。或者在你的Where子句中處理這兩種情況,比如'Where coalesce(city_name,'')=''' – xQbert