답변:
특별한 문법은 없습니다 :
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)
NULL
SQL에서 특별한 값입니다. 따라서 속성을 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)
위의 답변에서 여러 가지 방법과 반복이 동일하게 제안되었습니다. 언급 한 질문에 대한 답변을 계속 찾았지만 여기서 찾을 수 없었습니다.
그러나 위의 질문과 반대 인 "널 값으로 열 업데이트"는 "컬럼의 모든 ROWS를 NULL로 업데이트"일 수 있습니다.
그런 상황에서 다음 작품
update table_name
set field_name = NULL
where field_name is not NULL;
is
is not
mysql 에서도 작동합니다.
빈 문자열보다는 또 다른 가능한 이유 진정한 는 null 필드가 인덱스 또는 인덱스의 일부이다. 이것은 나에게 일어났다 : phpMyAdmin을 사용 하여 " Null "체크 박스를 체크 한 다음 " Save "버튼을 눌러 NULL 을 허용하도록 테이블 중 하나의 필드 구조를 편집했다 . " 테이블 가격이 성공적으로 변경되었습니다 "가 표시되었으므로 변경이 발생했다고 가정했습니다. UPDATE 를 수행하여 해당 필드를 모두 NULL 로 설정 한 후 빈 문자열로 설정 되었으므로 테이블 구조를 다시 살펴보고 " Null해당 필드의 "열이 ' 아니오 ' 로 설정되었습니다 . 그 때 필드가 기본 키의 일부라는 것을 깨달았습니다 !
당신이 따르는 경우
UPDATE table SET name = NULL
그런 다음 이름은 ""가 아닙니다. NULL IN MYSQL은 쿼리를 의미합니다.
SELECT * FROM table WHERE name = NULL
일을하거나 자신을 실망시키지 마십시오