jim*_*jim 137 mysql sql-update
我使用的是mysql,需要使用null值更新列.我尝试了很多不同的方法,我得到的最好的是一个空字符串.
有没有特殊的语法来做到这一点?
Dan*_*llo 206
没有特殊语法:
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)
Run Code Online (Sandbox Code Playgroud)
Gum*_*mbo 39
NULL是SQL中的特殊值.因此要将属性置零,请执行以下操作:
UPDATE table SET column = NULL;
Run Code Online (Sandbox Code Playgroud)
kor*_*nya 13
使用IS而不是=
这将解决您的问题示例语法:
UPDATE studentdetails
SET contactnumber = 9098979690
WHERE contactnumber IS NULL;
Run Code Online (Sandbox Code Playgroud)
请记住查看您的列是否为null.你可以使用
mysql> desc my_table;
Run Code Online (Sandbox Code Playgroud)
如果您的列不能为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)
Run Code Online (Sandbox Code Playgroud)
在上面的答案中,已经提出了许多相同的方法和重复。我一直在寻找问题的答案,但在这里找不到。
提出上述问题“更新具有空值的列”的另一种方法可能是“将列中的所有行都更新为空”
在这种情况下,以下作品
update table_name
set field_name = NULL
where field_name is not NULL;
Run Code Online (Sandbox Code Playgroud)
is也is not适用于 mysql
| 归档时间: |
|
| 查看次数: |
367273 次 |
| 最近记录: |