programing

이 mysql 오류 코드 #1089가 계속 표시됩니다.

starjava 2023. 7. 26. 21:33
반응형

이 mysql 오류 코드 #1089가 계속 표시됩니다.

CREATE TABLE `movies`.`movie`
( `movie_id` INT(3) NULL AUTO_INCREMENT, `movie_name` VARCHAR(25) NULL,
  `movie_embedded_id` VARCHAR(50) NULL, `rating_no` INT(3) NULL,
  `movie_description` VARCHAR(50) NULL, PRIMARY KEY (`movie_id`(3))) ENGINE = InnoDB;

다음 오류가 계속 발생합니다.

#1089 - 접두사 키가 잘못되었습니다. 사용된 키 부분이 문자열이 아니거나, 사용된 길이가 키 부분보다 길거나, 스토리지 엔진에서 고유 접두사 키를 지원하지 않습니다.

그게 무슨 뜻인지 모르겠어요, 단서를 가진 사람?

그 부분과 함께.

PRIMARY KEY (`movie_id`(3))

당신은 mysql에게 movie id의 처음 3바이트에 하위 파트 키*를 생성하라고 말하고 있습니다.이것은 문자열 유형에만 사용할 수 있습니다.

사용해야 합니다.

PRIMARY KEY (`movie_id`)

길이를 지정하지 않고

*쿼리 결과 오류가 발생한 것이 확실합니까?기본 키에서 인덱스에 사용되는 것을 본 적이 없습니다.

테이블을 만들 때 기본 키를 선택한 후 팝업 대화 상자에 값을 입력하지 않음

또한 실제 열의 길이보다 긴 접두사 길이를 지정하는 경우 인덱스를 만들 때 이 오류가 발생할 수 있습니다.다음을 포함하는 인덱스를 작성하려고 한 경우someColumn(20)그러나 표에서 일부 열은VARCHAR(15)그러면 이 오류가 발생합니다.

기본 키의 경우 유형의 길이를 입력하지 마십시오.

Example:
int()

언급URL : https://stackoverflow.com/questions/30406066/i-keep-getting-this-mysql-error-code-1089

반응형