Php 多个sql语句 $sql=“更新用户集'niveua`='初学者',其中'km`query($sql); $sql=“更新用户集'niveua`='trained',其中'km`>50或'km`query($sql); $sql=“更新用户集`niveua`=`expert',其中`km`>100”; $result=$con->query($sql);
我无法让这3个sql正常工作。这只是第三个正在更新的。Php 多个sql语句 $sql=“更新用户集'niveua`='初学者',其中'km`query($sql); $sql=“更新用户集'niveua`='trained',其中'km`>50或'km`query($sql); $sql=“更新用户集`niveua`=`expert',其中`km`>100”; $result=$con->query($sql);,php,sql,Php,Sql,我无法让这3个sql正常工作。这只是第三个正在更新的。 那么我如何让这三个都工作呢?缺少和,您也可以像下面这样简化查询,这样事情就可以更快了 $sql = "UPDATE user SET `niveua`='beginner' WHERE `km`< 50"; $result = $con->query($sql); $sql = "UPDATE user SET `niveua`='trained' WHERE `km`> 50 or `km` < 99";
那么我如何让这三个都工作呢?缺少
和
,您也可以像下面这样简化查询,这样事情就可以更快了
$sql = "UPDATE user SET `niveua`='beginner' WHERE `km`< 50";
$result = $con->query($sql);
$sql = "UPDATE user SET `niveua`='trained' WHERE `km`> 50 or `km` < 99";
$result = $con->query($sql);
$sql = "UPDATE user SET `niveua`='expert' WHERE `km`> 100";
$result = $con->query($sql);
更新用户
设置niveua=
案例
当(`km`<50)
然后是“初学者”
当(`km`>50和`km`<99)
然后“训练”
当(`km`>100)
然后是“专家”
艾尔斯尼维瓦酒店
结束;
只需进行选择(出于测试目的)而不是更新,以检查前两次查询中是否有匹配的记录。此外,第二个查询应该是和
,而不是或
。建议:顺便说一下,您应该在第二个查询中使用AND而不是OR。(其中km
>50和km
<100)
UPDATE user
SET niveua =
CASE
WHEN (`km` < 50 )
THEN 'beginner'
WHEN (`km`> 50 AND `km` < 99 )
THEN 'trained'
WHEN ( `km` > 100 )
THEN 'expert'
ELSE niveua
END;