본문 바로가기
MySql

MySQL 테이블에있는 모든 레코드의 한 열에 대한 값 설정

by 베이스 공부 2021. 2. 13.
반응형

내 테이블의 모든 레코드에 대해 하나의 열을 지우려고합니다. 예를 들어, 테이블에 id , comment likes 의 세 열이있는 경우-를 지울 수 있습니다. 좋아요 열.

+---+-------+-----+
|id |comment|likes|
+-----------------+
|1  |hi     |3    |
|2  |hello  |12   |
|3  |hey    |1    |
+---+-------+-----+

나중에 다음과 같이 보일 것입니다.

+---+-------+-----+
|id |comment|likes|
+-----------------+
|1  |hi     |     |
|2  |hello  |     |
|3  |hey    |     |
+---+-------+-----+

MySQL UPDATE 를 사용하여 likes 값을 지워야한다고 생각하지만 모든 레코드를 반복하고 id 를 유지하려면 어떻게해야합니까? 및 comment 필드가 동일합니까?

각 레코드를 수동으로 변경하고 싶지 않습니다.

 

해결 방법

 

UPDATE your_table SET likes = NULL

또는 likes 열이 NULL 을 허용하지 않는 경우 :

UPDATE your_table SET likes = ''

DB 쿼리 실행에 사용되는 일부 SQL 도구는 기본적으로 모든 레코드 ( where 절이없는 쿼리)에 대한 업데이트를 방지합니다. 이를 구성하고 savety 설정을 제거하거나 모든 레코드에 대해 true where 절을 추가하고 어쨌든 다음과 같이 모두 업데이트 할 수 있습니다.

UPDATE your_table 
SET likes = NULL
WHERE 1 = 1

NULL 비교 하는 경우 IS 연산자도 필요합니다. 예:

UPDATE your_table 
SET likes = NULL
WHERE likes IS NOT NULL

등호 연산자 ( = )가있는 NULL 비교 하면 UNKNOWN 이 반환되기 때문입니다. 그러나 IS 연산자는 NULL 을 처리 할 수 ​​있습니다.

 

참조 페이지 https://stackoverflow.com/questions/10364200

 

 

반응형

댓글