[英]MySql updating column that is null
我试图更新具有空值的列值。
表:
+------------+-----------+-------+
| product_no | name | price |
+------------+-----------+-------+
| 1 | Cheese | 9.99 |
| NULL | Meat | 17.00 |
| 2 | Pepperoni | NULL |
+------------+-----------+-------+
更新:
UPDATE products SET product_no = 6 WHERE product_no = NULL;
输出:
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0
表定义:
+------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------------+------+-----+---------+-------+
| product_no | int(11) | YES | | NULL | |
| name | varchar(255) | YES | | NULL | |
| price | decimal(10,2) | YES | | NULL | |
+------------+---------------+------+-----+---------+-------+
为什么不更新为6
?
尝试这个:
UPDATE products SET product_no = 6 WHERE product_no is NULL;
NULL值很特殊,请使用:
WHERE product_no IS NULL
要么
WHERE product_no <=> NULL
原因是因为NULL是特殊的。
MySql 指出 :
要测试NULL,请使用IS NULL和IS NOT NULL运算符...
您不能使用算术比较运算符(例如=,<或<>)测试NULL。
因此:
UPDATE products SET product_no = 6 WHERE product_no IS NULL;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.