这是我的 table :
id delivery_mode old_delivery_mode
123 email sms
126 sms sms
139 email facebook
147 facebook email
198 sms sms
210 sms email
我想用这些值更新我的表字段值:
sms=100
email=200
facebook=300
这样:
id delivery_mode old_delivery_mode
123 200 100
126 100 100
139 200 300
147 300 200
198 100 100
210 100 200
我想在单个 SQL 查询中执行此操作。
我该怎么做?
最佳答案
UPDATE YOUR_TABLE_NAME
SET delivery_mode =
CASE
WHEN delivery_mode = 'sms' THEN '100'
WHEN delivery_mode = 'email' THEN '200'
WHEN delivery_mode = 'facebook' THEN '300'
WHEN delivery_mode THEN delivery_mode
END,
old_delivery_mode =
CASE
WHEN old_delivery_mode = 'sms' THEN '100'
WHEN old_delivery_mode = 'email' THEN '200'
WHEN old_delivery_mode = 'facebook' THEN '300'
WHEN old_delivery_mode THEN old_delivery_mode
END
关于mysql - 更新查询SQL来更新表的各个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25074472/