Mysql 执行选择和更新的单个查询
对于条件=1,col1应设置为1,对于所有条件!=1 col1的值应为0Mysql 执行选择和更新的单个查询,mysql,sql,sql-update,Mysql,Sql,Sql Update,对于条件=1,col1应设置为1,对于所有条件!=1 col1的值应为0 SELECT col1, col2 FROM table WHERE condition1 = 1; 这可以在单个查询中完成吗?(而不是1次更新和1次选择) 在MySQL中,您可以编写以下内容: UPDATE table1 SET col1 = (condition <=> 1) 更新表1 设置col1=(条件1) 这是因为在MySQL中布尔值TRUE等于1,FALSE等于0。在
SELECT col1,
col2
FROM table
WHERE condition1 = 1;
这可以在单个查询中完成吗?(而不是1次更新和1次选择) 在MySQL中,您可以编写以下内容:
UPDATE table1
SET col1 = (condition <=> 1)
更新表1
设置col1=(条件1)
这是因为在MySQL中布尔值TRUE等于1,FALSE等于0。在MySQL中,您可以这样写:
UPDATE table1
SET col1 = (condition <=> 1)
更新表1
设置col1=(条件1)
这是因为在MySQL中,布尔值TRUE等于1,FALSE等于0。您是在尝试选择并更新,还是只是在尝试更新 如果您只是尝试更新,那么SELECT查询是不必要的。只需使用:
UPDATE table SET col1=1 WHERE condition=1;
您是在尝试选择并更新,还是只是在尝试更新 如果您只是尝试更新,那么SELECT查询是不必要的。只需使用:
UPDATE table SET col1=1 WHERE condition=1;
使用:
使用:
为了强调这一点,也可以通过这种方式来实现
update table
set col1=if(col1 = 1,1,0);
为了强调这一点,也可以通过这种方式来实现
update table
set col1=if(col1 = 1,1,0);
我们这里还需要0吗?我想当条件为NULL时,应该注意0。@Sharpeye500:我不知道你的数据——你是说条件总是NULL还是1?如果是这样的话,请随意省略ELSE。我们是否需要这里的其他0,我想当条件为NULL时,您会得到0,这应该引起注意。@Sharpeye500:我不知道您的数据--您是说条件将始终为NULL或1?如果是这样的话,可以省略其他选项。