-
비즈니스 요구로 인해 특정 필드의 데이터 유형을 숫자(5)에서 숫자(5,2)로 수정해야 합니다.
데이터가 없으면 다음 명령문을 사용하십시오.
테이블 변경 tb_test 퍼마일 번호 수정(5,2);
하지만 데이터가 있는 경우 위의 방법을 사용할 수 없습니다.
테이블 변경 tb_test permile_temp 번호 추가(5,2)
tb_test 세트 permile_temp=permile; 업데이트
테이블 드롭 열 퍼마일 변경;
테이블 테스트 변경 permile_temp 열의 이름을 permile로 변경합니다.
이 방법을 사용하면 열 이름이 변경되고 필드 순서를 늘리면 행 마이그레이션이 발생하여 애플리케이션에 영향을 미칠 수 있습니다.
다음 방법이 더 좋은 방법입니다
컬럼명을 변경할 필요도 없고 테이블 마이그레이션도 발생하지 않지만, 테이블을 두 번 업데이트해야 한다는 단점이 있습니다.
데이터의 양이 많으면 Undo와 Redo가 더 많이 생성되며, 전제 조건은 머신을 종료하는 것입니다.
가동 중지 시간이 없으면 온라인 재정의를 사용할 수도 있습니다.
스크립트는 다음과 같습니다.
테이블 tb_test 변경 permile_temp 번호 추가;
열 추가/수정
테이블 변경 tb_test 수정 PERMILE null;
tb_test를 업데이트하여 permile_temp=permile,permile=null을 설정합니다.
저지르다;
테이블 변경 tb_test 퍼마일 번호 수정(5,2);
tb_test를 업데이트하여 permile=permile_temp,permile_temp=null을 설정합니다.
저지르다;
테이블 tb_test 드롭 열 permile_temp 변경;
테이블 변경 tb_test 수정 PERMILE은 null이 아닙니다.
tb_test에서 *를 선택하세요.
이 기사는 CSDN 블로그에서 가져온 것입니다. 재인쇄할 때 출처를 표시하십시오: http://blog.csdn.net/luinstein/archive/2009/12/21/5049010.aspx