2016-10-27 6 views
0

건물의 3 개 수준을 나타내는 room_lvl1, room_lvl2, room_lvl3의 3 개의 테이블이있는 데이터베이스가 있다고 가정합니다. 각 레벨에는 20 개의 ++ 객실이 있습니다. 따라서 각 테이블에는 해당 레벨의 객실을 나타내는 20 개의 ++ 행이 있습니다.기본 키를 제외한 모든 특성을 삭제하는 SQL 쿼리

기본 키를 제외하고 테이블의 모든 속성을 삭제하거나 기본 키를 제외한 모든 값을 null 값으로 업데이트해야합니다.

실행할 가능성이있는 쿼리가 있습니까?

+1

당신은 샘플 데이터 및 원하는 결과를 제공 할 수 있습니까? 네가 정말로하고 싶은게 뭔지 모르겠다. –

답변

1

당신은 수행하여 NULL에 값을 설정할 수 있습니다 col1 등이 기본 키가 아닌 열이

update room_lvl1 
    set col1 = NULL, 
     col2 = NULL, 
     . . .; 

.

정말 낯선 것처럼 보입니다. 테이블을 비울 수 있습니다.

truncate table room_lvl1; 

이렇게하면 모든 행이 제거됩니다.

당신은 저장, 절단 및 재 삽입 할 수

:

create table temp_room_lvl1 as select * from room_lvl1; 

truncate table room_lvl1; 

insert into room_lvl1(pk) 
    select pk from temp_room_lvl1; 
+0

감사합니다. 이 절단 방법은 내 문제를 해결합니다. – 8man