Pan*_*dge 19 mysql sql database database-design
我试图在一个查询中为多行设置多个列,但到目前为止没有运气.
这是我的桌子的样子
表:用户

我想在user_id IN(3,4,5)上设置'ext_id',并且还想在相同的行上设置ext_flag = Y和admin_role = admin.
结果表如下所示

我的查询看起来像这样,但由于对SQL语法的不熟悉,我得到了错误.
update user
set ext_flag = 'Y', admin_role = 'admin', ext_id =
case
when user_id = 2 then 345
when user_id = 4 then 456
when user_id = 5 then 789
end
Run Code Online (Sandbox Code Playgroud)
我在使用多列的SET语法时遇到困难.
ech*_*_Me 31
试试这个
update user
set ext_flag = 'Y', admin_role = 'admin', ext_id =
case
when user_id = 2 then 345
when user_id = 4 then 456
when user_id = 5 then 789
end
**WHERE user_id in (2,4,5)**
Run Code Online (Sandbox Code Playgroud)
你也可以破解插入操作:
INSERT INTO mytable (id, a, b, c)
VALUES (1, 'a1', 'b1', 'c1'),
(2, 'a2', 'b2', 'c2'),
(3, 'a3', 'b3', 'c3'),
(4, 'a4', 'b4', 'c4'),
(5, 'a5', 'b5', 'c5'),
(6, 'a6', 'b6', 'c6')
ON DUPLICATE KEY UPDATE id=VALUES(id),
a=VALUES(a),
b=VALUES(b),
c=VALUES(c)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65630 次 |
| 最近记录: |