Answers:
没有特殊的语法:
CREATE TABLE your_table (some_id int, your_column varchar(100));
INSERT INTO your_table VALUES (1, 'Hello');
UPDATE your_table
SET your_column = NULL
WHERE some_id = 1;
SELECT * FROM your_table WHERE your_column IS NULL;
+---------+-------------+
| some_id | your_column |
+---------+-------------+
| 1 | NULL |
+---------+-------------+
1 row in set (0.00 sec)
使用IS
代替=
可以解决您的问题示例语法:
UPDATE studentdetails
SET contactnumber = 9098979690
WHERE contactnumber IS NULL;
记住要检查您的列是否可以为空。您可以使用
mysql> desc my_table;
如果列不能为null,则将值设置为null时,将为其强制转换值。
这是一个例子
mysql> create table example ( age int not null, name varchar(100) not null );
mysql> insert into example values ( null, "without num" ), ( 2 , null );
mysql> select * from example;
+-----+-------------+
| age | name |
+-----+-------------+
| 0 | without num |
| 2 | |
+-----+-------------+
2 rows in set (0.00 sec)
mysql> select * from example where age is null or name is null;
Empty set (0.00 sec)
对于那些面临类似问题的人,我发现“模拟” SET = NULL
查询时,PHPMyAdmin会引发错误。这是一条红鲱鱼..只要运行查询,一切都会好起来的。
在上面的答案中,对于相同的内容,已经提出了许多方法和重复步骤。我一直在寻找答案,因为提到的是问题,但在这里找不到。
但是与上述问题“用空值更新列”相反,可能是“将列中的所有行都更新为空”
在这种情况下,后续工作
update table_name
set field_name = NULL
where field_name is not NULL;
is
以及is not
在mysql中工作
如果你跟随
UPDATE table SET name = NULL
然后名称是“”,在MYSQL中不为NULL表示您的查询
SELECT * FROM table WHERE name = NULL
不工作或让自己失望