以下是名为employee
的数据库的结构mysql> desc employee;
+-------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| emp_code | int(11) | NO | PRI | NULL | |
| emp_name | varchar(25) | YES | | NULL | |
| designation | varchar(25) | YES | | NULL | |
| department | varchar(25) | YES | | NULL | |
| basic | decimal(10,2) | YES | | NULL | |
| DA | decimal(10,2) | YES | | NULL | |
| gross_pay | decimal(10,2) | YES | | NULL | |
+-------------+---------------+------+-----+---------+-------+
我的问题是,如何为指定 manager
的行更新 DA 值1500,并更新 DA ,所有其他员工的价值为2000。
答案 0 :(得分:1)
您可以将case
用于此目的:
update employees
set DA = (case when designation = 'manager' then 1500 else 2000 end);
答案 1 :(得分:0)
在更新时使用CASE
UPDATE employee
SET DA =
CASE
WHEN designation = 'manager' THEN
'1500'
WHEN designation = 'employees' THEN
'2000'
END
答案 2 :(得分:0)
UPDATE employee
SET DA = CASE
WHEN designation = "manager" THEN 1500
ELSE 2000
END
答案 3 :(得分:0)
UPDATE employee SET
DA = IF(designation='manager', 1500),
DA = IF(designation='', 1200)
WHERE designation IN('manager', '');
做了一些研究并构建了上述内容。试一试,看看会发生什么。