[mysql] null 값으로 열을 업데이트하는 방법

mysql을 사용하고 있으며 null 값으로 열을 업데이트해야합니다. 나는 이것을 여러 가지 방법으로 시도했으며 내가 얻은 최선은 빈 문자열입니다.

이를위한 특별한 구문이 있습니까?



답변

특별한 문법은 없습니다 :

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)


답변

NULLSQL에서 특별한 값입니다. 따라서 속성을 null로 설정하려면 다음을 수행하십시오.

UPDATE table SET column = NULL;


답변

IS대신에 사용하면 =
문제 예제 구문이 해결됩니다.

UPDATE studentdetails
SET contactnumber = 9098979690
WHERE contactnumber IS NULL;


답변

열이 null 일 수 있는지 확인하십시오. 당신은 그것을 사용하여 할 수 있습니다

mysql> desc my_table;

열이 널이 될 수없는 경우 값을 널로 설정하면 캐스트 값이됩니다.

여기 예

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이 오류를 던질 것이라는 것을 알았습니다 . 붉은 청어입니다. 쿼리를 실행하면 모든 것이 잘됩니다.


답변

위의 답변에서 여러 가지 방법과 반복이 동일하게 제안되었습니다. 언급 한 질문에 대한 답변을 계속 찾았지만 여기서 찾을 수 없었습니다.

그러나 위의 질문과 반대 인 “널 값으로 열 업데이트”는 “컬럼의 모든 ROWS를 NULL로 업데이트”일 수 있습니다.

그런 상황에서 다음 작품

update table_name
set field_name = NULL
where field_name is not NULL;

isis notmysql 에서도 작동합니다.


답변

is대신에 사용=

예 : Select * from table_name where column is null