使用我的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’
发布于 2019-12-29 18:08:04
MySQL的错误消息包含查询中尚未解析的部分,因为最后解析的令牌才是产生错误的令牌。这意味着“唯一索引远程number_UNIQUE ...”之前的单词。才是问题所在。这个词就是VISIBLE。
MySQL 8.0中引入了VISIBLE关键字,您可能使用了更早的版本。
默认情况下,索引为VISIBLE。您可以安全地将此关键字从查询中删除。在MySQL 8上,您将获得与使用时相同的结果。在MySQL 5中,不存在不可见索引的概念,所有索引都是可见的。
我现在在错误消息中看到,您使用的不是MySQL,而是MariaDB。MariaDB是MySQL 5的一个分支,在某种程度上与MySQL兼容。你会发现这里和那里有很多细微的差别。
https://stackoverflow.com/questions/59518375
复制相似问题