Extra Form
PHP PHP 8.2
CMS Rhymix 2.1

 

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '397' for key 'PRIMARY'

라이믹스로 마이그레이션 이후 처음 회원가입 해봤습니다.

어떤 테이블인지 알 수 있으면 찾아 보겠는데...테이블 이름을 모르겠네요..

 

우선 
ALTER TABLE `rx_member` MODIFY COLUMN `member_srl` INT AUTO_INCREMENT;
이렇게 했더니...자동 증가값을 최종값이 되긴 했는데...문제 해결은 안되네요..

등록버튼을 누를때 마다 

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '397' for key 'PRIMARY'
397 398 399 이런식으로 값이 올라가긴 합니다.

 

어떤 테이블인지 알면 찾아볼텐데...

 

 

Image 2024-04-15 22 21 22.png

 

 

  • profile

    마이그레이션 후 rx_sequence 테이블이 업데이트되지 않아서 자꾸 중복값이 나오나 봅니다.

  • profile ?
    일단 해당 테이블을 삭제하니깐..관리창에서 DB 생성 버튼이 나왔고...
    DB 생성 후 회원가입 시도 하니..잘 되네요..

    감사합니다.
  • ? profile

    시퀀스 초기화시키면 얼마 안 가서 또 오류납니다.

     

    시퀀스가 점점 늘어나면서 이 때 나오는 숫자들을 문서번호, 댓글번호, 회원번호 등으로 활용하기 때문에, 현재 사용중인 문서번호, 댓글번호, 회원번호의 최대값보다 더 큰 값을 넣어둬야 나중에 중복값이 나오는 것을 막을 수 있습니다. (시퀀스를 제외한 각 테이블의 auto_increment는 그다지 의미가 없습니다.)

  • profile ?

    PHP로 각 테이블의 primary 컬럼의 최대값을 확인해 보니...적당한 값이 나오네요..
    어떤 테이블은  날짜가 나와서 제외...어떤 값은 로그값이라서 제외..
    말씀해주신 테이블 위주로 확인해서..현재 최대값 +1로 설정해 놨습니다.
     

    Image 2024-04-16 08 04 16.png

    조언 감사합니다.
    많은 도움이 되었습니다.