mysql - 根据一个查询中的另一个字段将多行新字段设置为特定值
问题描述
我正在向我的CountryCodes
表中添加一个新列,phoneCodes
. 我想根据numericCode
表中已经存在的添加每个国家/地区的电话代码。有没有办法在不为每个国家/地区做 SET 的情况下做到这一点?这样做似乎效率低下:
UPDATE TABLE `CountryCodes`
SET `phoneCode` = 1
WHERE `numericCode = 840
...
/* Do this for each country?*/
解决方案
您可以使用case
表达式:
update table countrycodes
set phonecode = (case when numericCode = 840 then 1
. . .
end)
where numericCode in (840, . . .);
推荐阅读
- apache-spark - 使用广泛的数据集 Spark 性能非常慢
- bootstrap-4 - boostrap 响应式导航边框
- angularjs - ADAL 登录和验证用户取决于 Microsoft 帐户登录/注销
- php - WP自动评论批准自定义帖子类型
- r - 使用 Shiny 模拟实时数据可视化
- facebook - 如何更新将图片发布到 Facebook 的权限
- vba - 使用 vba 在行中自定义选择
- mysql - MYSQL 事件显示错误“对不起,发生了意外错误!”
- vba - VBA Access - 将多条记录插入表中时遇到问题
- ios - Apple Pay iOS Swift 应用优惠券