본문 바로가기
MySql

MySQL 키 길이없이 키 스펙에 사용되는 BLOB / TEXT 컬럼 '중심'

by 베이스 공부 2021. 1. 18.
반응형

주문 시스템을 만들려고하는데 지금 막혔어요. 지금 mysql tabel에서는 "bestillinger"라는 열에 varchar (255)를 사용하고 있지만 255 자만 저장할 수 있습니다. 그래서 조금 검색을 해보니 긴 텍스트 나 텍스트 만 사용할 수 있다는 것을 기억했지만, 이제 그렇게하려고하면 다음과 같은 오류가 발생합니다.

#1170 - BLOB/TEXT column 'bestilling' used in key specification without a key length

여기와 Google에서 검색을 시도했지만 운이 없었습니다.

내 MySQL 테이블은 다음과 같습니다.

CREATE TABLE IF NOT EXISTS `bestillinger` (
  `id` int(11) NOT NULL,
  `bestilling` TEXT NOT NULL PRIMARY KEY,
  `accepted` varchar(255) DEFAULT NULL,
  UNIQUE KEY `id_bestilling` (`id`,`bestilling`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

내 PHP 부분에서 "ON DUPLICATE KEY UPDATE"를 사용하고 있기 때문에 UNIQUE KEY를 사용하고 있습니다. 하지만 신경 쓰지 마세요.

미리 감사드립니다.

 

해결 방법

 

텍스트를 기본 키로 설정할 수 없습니다. Mysql은 일부 문자 만 인덱싱 할 수 있으며 유형 텍스트는 인덱싱하기에 너무 클 수 있습니다.

여기를보세요 :



 

참조 페이지 https://stackoverflow.com/questions/13710170

 

 

반응형

댓글