我在mySQL中有这个表,用于将一些值映射到其他值,例如将国家/地区映射到大写字母。
我想用这种方式使用它:
SELECT capital
FROM CountryData
WHERE country = 'France';
或者更确切地说,更新其他一些表:
UPDATE CustomerData
SET customerCapital =
SELECT capital
FROM CountryData
WHERE CountryData.country = CustomerData.customerCountry
如果在Country
表中找不到该国家/地区,则会出现问题。如果customerCapital
表格中不存在'UNKNOWN'
,我怎样才能将NULL
设置为默认值customerCountry
而不是CountryData
?
答案 0 :(得分:2)
检查COALESCE
功能。
但是,我不建议您存储任意值而不是NULL。除NULL 之外的任何其他值本身就是一种信息。你想显示缺乏价值,因此你应该使用NULL
这听起来像是一个美容问题。如果要在将customerCapital打印到屏幕时显示值,则应在应用程序代码中将NULL转换为UNKNOWN
。