使用我的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。检查与您的MariaDB服务器版本相对应的手册以获取正确的语法,以在第12行的'UNIQUE INDEX tele number_UNIQUE
(tele_number
ASC)VISIBLE)ENGINE = InnoD附近使用
答案 0 :(得分:1)
MySQL的错误消息包含尚未解析的查询部分,因为最后解析的令牌是产生错误的令牌。这意味着“ UNIQUE INDEX电话号码_UNIQUE ...” 之前的单词是问题。这个词是VISIBLE
。
MySQL 8.0中引入了VISIBLE
关键字,您可能使用的是早期版本。
默认情况下,索引为VISIBLE
。您可以从查询中安全删除此关键字。在MySQL 8上,您将获得与使用时相同的结果。在MySQL 5上,不存在不可见索引的概念,所有索引都是可见的。
我现在在错误消息中看到您没有使用MySQL,而是使用了MariaDB。 MariaDB是MySQL 5的一个分支,在某种程度上与MySQL兼容。您会在这里和那里发现许多小的差异。