다른 테이블의 외래 키로 참조되는 기본 키로 열거 형 데이터 형식을 사용하고 있습니다. 이 열거 형 값에 여분의 요소를 추가해야하는 경우 두 표 모두에서시작부터 2 바이트를 사용하도록 MySuite ENUM 형식을 강제 설정
ALTER TABLE <table> MODIFY <colName> ENUM(<OLD VALUES>, NEW VAL);
을 사용합니다. 그것은 잘 작동합니다.
내가 모호한 예가 하나 있는데, 결국 < 255 개까지 값이 올라갔습니다. 이 경우 ENUM은 1 바이트 스토리지에서 2 바이트 스토리지로 전환해야합니다. 그것이 실패 할 때입니다. './TXCAD/EN_TABLE'(errno를 : 150)에 './TXCAD/#sql-5912_86'의 이름 변경에 오류 : 나에게
ERROR 1025 (HY000)를주기
나는 몇 가지 연구했다 주 테이블에서 1 바이트에서 2 바이트로의 변환이 외래 키 데이터 유형 불일치를 일으키는 것을 발견했습니다. (내가 256+ 값으로 시작한다면, 전혀 그렇지 않다.) 나는 그것을 확인했다.)
ENUM이 테이블 생성 중에 255 개 미만의 값을 가지고 있어도 MySql이 처음부터 2 바이트를 사용하도록 할 수있는 방법이 있는가? ?
MySQL을 사용 - 5.1 InnoDB 테이블
그냥 알다시피
주셔서 감사합니다. 나는 페이지도 체크했다. doesnt는 그것의 크기를 강제하는 간단한 방법 인 것처럼 보인다. 정말 강력한 데이터 유형이지만 아직 MySql을 활용하지 못했습니다. – Jai
이 방법을 찾을 수 없습니다. 이 문제에 대한 일반적인 해결책은 없다고 생각합니다. – Jai