테이블의 모든 열은 삭제할 수 없습니다
결론부터 말씀드리면, ALTER TABLE 명령에 DROP 키워드를 사용해 테이블의 모든 열(컬럼)을 한 번에 제거하는 것은 불가능합니다. 테이블에는 항상 최소한 하나 이상의 열이 남아 있어야 하기 때문입니다. 만약 모든 열을 삭제하려고 시도하면 MySQL은 오류 메시지를 반환합니다.
오류 발생 예시
'Employee' 테이블에 'name'과 'id'라는 두 개의 열이 있다고 가정해 보겠습니다. 이 상태에서 ALTER TABLE 명령으로 두 열을 모두 삭제하려고 하면 MySQL은 아래와 같은 오류를 출력합니다.
mysql> ALTER TABLE employee drop column name, drop column id;
ERROR 1090 (42000): You can't delete all columns with ALTER TABLE; use DROP TABLE instead
오류 메시지의 의미와 해결 방법
반환된 오류 메시지를 해석해 보면 "ALTER TABLE로는 테이블의 모든 열을 삭제할 수 없으므로, 대신 DROP TABLE을 사용하라"는 안내입니다. 즉, 테이블의 데이터와 구조 전체가 더 이상 필요 없다면 테이블 자체를 삭제하는 DROP TABLE 명령을 사용해야 합니다.
반대로 일부 열만 정리하고 싶은 경우라면, 최소한 하나의 열은 반드시 남겨 둔 상태에서 ALTER TABLE ... DROP COLUMN 구문을 실행해야 한다는 점을 기억하시기 바랍니다.