Php Sql使用WHEN和WHERE更新空值
我无法使用WHEN和WHERE更新空行。我的问题出了什么问题Php Sql使用WHEN和WHERE更新空值,php,mysql,Php,Mysql,我无法使用WHEN和WHERE更新空行。我的问题出了什么问题 UPDATE `product` SET `city` = CASE `city` WHEN NULL THEN 'Gangnam' WHEN 'Seouls' THEN 'Seoul' END WHERE city IN (NULL, 'Seoul') 与NULL UPDATE `product` SET `city` = CASE WHEN `city` IS NULL TH
UPDATE `product` SET `city` = CASE `city`
WHEN NULL THEN 'Gangnam'
WHEN 'Seouls' THEN 'Seoul'
END
WHERE city IN (NULL, 'Seoul')
与
NULL
UPDATE `product`
SET `city` =
CASE
WHEN `city` IS NULL THEN 'Gangnam'
WHEN `city` = 'Seouls' THEN 'Seoul'
END
WHERE city is NULL OR city = 'Seoul'
与
NULL
UPDATE `product`
SET `city` =
CASE
WHEN `city` IS NULL THEN 'Gangnam'
WHEN `city` = 'Seouls' THEN 'Seoul'
END
WHERE city is NULL OR city = 'Seoul'
在sql中,带有NULL的comparison总是false,因此必须使用特殊运算符is NULL 另一种方法是将查询一分为二: 更新
产品
设置城市
=“江南”,其中城市
为空
更新
product
SETcity
='Seouls'其中city
='Seouls'在sql中,与NULL的比较总是false,因此必须使用特殊运算符NULL
UPDATE `product` SET `city` =
CASE
WHEN `city` IS NULL THEN 'Gangnam'
WHEN `city` = 'Seouls' THEN 'Seoul'
END
WHERE city IS NULL OR city = 'Seouls'
另一种方法是将查询一分为二:
更新产品
设置城市
=“江南”,其中城市
为空
更新产品
设置城市
='Seouls'其中城市
='Seouls'
UPDATE `product` SET `city` =
CASE
WHEN `city` IS NULL THEN 'Gangnam'
WHEN `city` = 'Seouls' THEN 'Seoul'
END
WHERE city IS NULL OR city = 'Seouls'