MySQL Workbench: 쿼리 오류(1064):1행의 'VISIBLE' 근처에서 구문 오류가 발생했습니다.
무슨 생각이 드십니까?VISIBLE
아래가 문제를 일으키고 있습니까?
CREATE TABLE IF NOT EXISTS `setting` (
`uuid` INT(10) NOT NULL,
`type` VARCHAR(255) NOT NULL,
`code` VARCHAR(255) NOT NULL COMMENT 'An unique name.',
`value` MEDIUMTEXT NULL DEFAULT NULL,
`comment` LONGTEXT NULL DEFAULT NULL,
`created_on` INT UNSIGNED NOT NULL,
`updated_on` INT UNSIGNED NOT NULL,
PRIMARY KEY (`uuid`))
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8;
CREATE UNIQUE INDEX `name_UNIQUE` ON `setting` (`code` ASC) VISIBLE;
CREATE UNIQUE INDEX `uuid_UNIQUE` ON `setting` (`uuid` ASC) VISIBLE;
오류:
고유 인덱스 생성
name_UNIQUE
ONsetting
(code
ASC) 쿼리에서 보이는 오류(1064):1행의 'VISIBLE' 근처에서 구문 오류가 발생했습니다.고유 인덱스 생성
uuid_UNIQUE
ONsetting
(uuid
ASC) 쿼리에서 보이는 오류(1064):1행의 'VISIBLE' 근처에서 구문 오류가 발생했습니다.
제거해도 오류 없습니다.VISIBLE
MySQL Workbench 8.0.12 자동으로 생성됩니다.MySQL Workbench에서 이 작업을 중지하려면 어떻게 해야 합니까?
Ubuntu 18.04의 MySQL 정보:
MySQL 버전: 5.7.23-0ubuntu018.04.1 PHP 확장을 통한 MySQLi
여기서 문제는 MySQL 서버 버전 간의 구문 차이입니다.MySQL Workbench 8.0.12가 자동 생성되는 것 같습니다.CREATE UNIQUE INDEX
MySQL 서버 버전 8.0에 대한 문입니다.
MySQL Server 8.0 Docs에서 다음에 대한 구문CREATE INDEX
다음과 같습니다.
CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name
[index_type]
ON tbl_name (key_part,...)
[index_option]
[algorithm_option | lock_option] ...
key_part: {col_name [(length)] | (expr)} [ASC | DESC]
index_option:
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
| {VISIBLE | INVISIBLE} /* Notice the option of VISIBLE / INVISIBLE */
index_type:
USING {BTREE | HASH}
그러나 이 옵션은{VISIBLE | INVISIBLE}
MySQL Server 5.7에서는 사용할 수 없습니다.문서:
CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name
[index_type]
ON tbl_name (key_part,...)
[index_option]
[algorithm_option | lock_option] ...
key_part:
col_name [(length)] [ASC | DESC]
index_option:
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string' /* No option of VISIBLE / INVISIBLE */
index_type:
USING {BTREE | HASH}
MySQL의 최신 버전으로 업그레이드하지 않으려는 경우 다음을 사용하여 자동 생성 기능을 사용하지 않도록 설정할 수 있습니다.VISIBLE / INVISIBLE
색인:
MySQL Workbench에서:
이동:
편집 > Preferences > Modeling > MySQL 입니다.
그런 다음 "Default Target MySQL Version"을 5.7로 설정합니다.
아래 스크린샷을 확인합니다.
Workbench에서 : Model > Model Options...> MySQL => "글로벌 설정의 기본값 사용" 선택 취소
5.7 또는 6.3의 대체 버전.6.3을 썼어요.모델>모델 옵션에서..>MySql>6.3
언급URL : https://stackoverflow.com/questions/52785125/mysql-workbench-error-in-query-1064-syntax-error-near-visible-at-line-1
'source' 카테고리의 다른 글
angular js에서 $parse 사용 (0) | 2023.11.05 |
---|---|
HTML/CSS/JavaScript를 이용한 데스크톱 앱 개발 방법? (0) | 2023.11.05 |
jQuery로 "바쁜" 표시기를 표시하는 방법? (0) | 2023.11.05 |
자바스크립트 라이브러리의 선두 세미콜론은 무엇을 합니까? (0) | 2023.11.05 |
원본을 참조하는 동안 자바스크립트 함수 덮어쓰기 (0) | 2023.11.05 |