2016-12-05 4 views
-1

"name"と "city_name"という2つの列を持つテーブルがあります。 "city_name"が空の場合は "name"と同じ値に更新/設定します。 mysqlで何らかのif文を作成して、私が望むやり方を更新できますか?空の列を他の列と同じ値に更新します

+1

http://stackoverflow.com/help/how-to-askを使用して

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

(OR)のように、ここでCASE文を必要としますあなたの努力を実証してください... –

+0

はい、あなたはあなたが欲しいものを達成するために 'どこで'を使います。 'UPDATE ... SET city_name = name WHERE city_name = ''; – Qirel

+0

@Qirelの種類。 OPのカラムにNULL値がある場合、そこにNULL値があれば ''''は空であるとみなされません。 –

答えて

1

あなたはあなたがする必要があるだけで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 coalesce(city_name、 '')= '''のようなwhere節の両方のケースを扱います。 – xQbert

関連する問題