Oracle, MySQL, Damon 데이터베이스 신규 수정 삭제 필드
만약 테이블 이름이 tb, 필드 이름이name, 데이터 형식 nchar (20) 이라면.
1. 필드 데이터가 비어 있다고 가정하면 필드 형식을 바꾸든지 상관없이 직접 실행할 수 있습니다
alter table tb modify (name nvarchar2(20));
2. 필드에 데이터가 있다고 가정하면 nvarchar2(20)로 변경하여 직접 실행할 수 있습니다
alter table tb modify (name nvarchar2(20));
3. 필드에 데이터가 있다고 가정하면varchar2(40)로 변경하면 팝업됩니다. "ORA-01439: 데이터 형식을 변경하려면 수정할 열이 비어야 합니다."이럴 때 아래의 방법으로 이 문제를 해결해야 합니다.
/* name name_tmp*/
alter table tb rename column name to name_tmp;
/* name*/
alter table tb add name varchar2(40);
/* name_tmp name*/
update tb set name=trim(name_tmp);
/* , name_tmp*/
alter table tb drop column name_tmp;
4. 총결산1) 필드에 데이터가 없거나 수정할 새로운 형식이 원래 형식과 호환될 때 직접modify로 수정할 수 있다.2) 필드에 데이터가 있고 수정할 새 유형과 원래 유형이 호환되지 않을 경우 간접적으로 새 필드를 이동합니다.
2MySQL
1. 필드 추가
alter table table_name add column col_name_add varchar(20);
2. 필드 이름 수정
alter table table_name change column col_name_old col_name_new varchar(20);
3. 필드 유형 및 길이 수정
alter table table_name modify col_name varchar(20);
4. 필드 삭제
alter table table_name drop column col_name;
삼달몽
예제
/** T_CONTENT T_CONTENT_TEMP T_CONTENT varchar(4000)*/
alter table " "." " rename column T_CONTENT to T_CONTENT_TEMP;
/** T_CONTENT */
alter table " "." " add T_CONTENT varchar(8000);
/** T_CONTENT_TEMP T_CONTENT */
update " "." " set T_CONTENT =trim(T_CONTENT_TEMP);
/** , T_CONTENT_TEMP */
alter table " "." " drop column T_CONTENT_TEMP;
commit;
주: (수정 추가 삭제)와oracle의 기본은 같습니다. 위의 예시와 같이varchar 형식이라면 직접 수정할 수 있습니다. 위name 번거로움이 필요 없습니다. 아래와 같습니다.
alter table " "." " modfiy T_CONTENT varchar(8000);
위에서 주로varchar 유형이text 유형으로 전환되었다고 말하고 싶었지만 잘못 보고하면 필드를 바꾸는 방법을 사용해 보았지만 잘못 보고했습니다. 관리 도구에서 수정하지 않고 SQL 문장을 사용하지 않으면 어쩔 수 없습니다. 하지만 방법이 옳습니다. 참고할 수 있습니다. 오류는 다음과 같습니다.
[ 1]:
alter table " "." " modify T_CONTENT text;
( 1)
1 [-6160]:
1
alter table " "." " add T_CONTENT text;
( 1)
1 [-3243]:
[ ] KEY
1
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Oracle 생성 향후 3일간의 전체 시점 (단계 상세)수요: X 좌표축 시간은 모두 정시 시간으로 앞으로 3일 동안의 예측을 보여준다(x 축은 앞으로 3일 동안의 정시 시간을 보여준다), 3시간마다 한 눈금, 가로 좌표는 모두 24개의 눈금을 보여준다 1단계: 현재 시...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.