데이터베이스 질문입니다

데이터베이스 질문입니다

QA

데이터베이스 질문입니다

답변 4

본문

3661054569_1637284575.5393.png

안녕하세요

mb_no auto increment 초기화 하고 재정렬 하고싶은데,

ALTER TABLE member AUTO_INCREMENT=1; 사용하면 다른 컬럼 디폴트 때문에 안된다해서

그 컬럼 디폴트값 변경하려하면 다른 컬럼 디폴트값 이상하다고 무한 반복중인데...

강제로 정렬 하는 방법이 있을까요..?

또는 admin과 master 계정을 제외하고 테이블을 비울수가 있을까요 ?

이 질문에 댓글 쓰기 :

답변 4

ALTER TABLE member AUTO_INCREMENT=mb_no최대값+1 ;

이렇게 해야 합니다.

 

te01 회원 mb_no를 3으로 바꾸면

ALTER TABLE member AUTO_INCREMENT=4 ;

 

이렇게 되겠죠.

백업은 필수...


mysql> SET =0;   //카운트초기화
mysql> UPDATE member SET mb_no=:=+1;   //재정렬
mysql> ALTER TABLE membe AUTO_INCREMENT=다시 시작할 숫자;  // AUTO_INCREMENT 시작할 숫자

선생님 답변감사합니다!
쿼리문 돌리면 다른컬럼에서 유효하지 못한 디폴트 값을 사용 하였다고 막혀요 ㅠㅠ
다른컬럼 디폴트값 변경하려면 또 다른컬럼이 유효하지 못한 디폴트 값 사용하였다고 막히고...
어떤 방법이 있을까요ㅠㅠ...

데이터가 많지 않다면 다음의 절차대로 하시는것도 방법입니다.

1. 데이터를 백업 받는다.

2. 테이블을 지우거나 삭제하고 새로 만든다. 이때 auto_increment 설정

3. 백업 받은 데이터를 수정또는 auto 컬럼만 제외한다.

4. 3의 데이터를 새로운 테이블에 넣는다.

truncate table 테이블명;

 

이렇게 하시면 auto_increment 값도 같이 리셋됩니다~

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #sql ×
전체 728
© SIRSOFT
현재 페이지 제일 처음으로