【发布时间】:2020-04-18 11:08:40
【问题描述】:
用我的 sql 创建了这个,但不确定脚本有什么问题
CREATE TABLE IF NOT EXISTS `restaurant`.`restaurant` (
`_id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
`added_date` VARCHAR(30) NULL,
`tele_number` VARCHAR(8) NULL,
`about` TEXT(1024) NULL,
`average_rating` INT NULL,
`price` VARCHAR(10) NULL,
`opening_hour` VARCHAR(255) NULL,
`restaurantcol` VARCHAR(45) NULL,
PRIMARY KEY (`_id`),
UNIQUE INDEX `_id_UNIQUE` (`_id` ASC) VISIBLE,
UNIQUE INDEX `tele number_UNIQUE` (`tele_number` ASC) VISIBLE)
ENGINE = InnoDB
给出的错误:
错误代码:1064。您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 12 行的 'UNIQUE INDEX tele number_UNIQUE (tele_number ASC) VISIBLE) ENGINE = InnoD' 附近使用正确的语法
【问题讨论】:
-
MySQL 的错误信息中包含了查询中未被解析的部分,因为最后解析的token 是产生错误的那个。这意味着 " UNIQUE INDEX tele number_UNIQUE ..." 之前的单词是问题所在。这个词是
VISIBLE。这个关键字在 MySQL 8.0 中已经引入,你可能使用的是更早的版本。
标签: mariadb