开发者社区> 问答> 正文

我不确定为什么我无法运行此sql脚本

用我的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_numberASC)VISIBLE)ENGINE = InnoD' 附近使用

展开
收起
几许相思几点泪 2019-12-29 19:09:19 943 0
1 条回答
写回答
取消 提交回答
  • MySQL的错误消息包含尚未解析的查询部分,因为最后解析的令牌是产生错误的令牌。这意味着问题出在“ UNIQUE INDEX电话号码_UNIQUE ...”之前。这个词是VISIBLE。

    该VISIBLE关键字已在MySQL 8.0中引入的,你可能使用早期版本。

    默认情况下,索引为VISIBLE。您可以从查询中安全删除此关键字。在MySQL 8上,您将获得与使用时相同的结果。在MySQL 5上,不存在不可见索引的概念,所有索引都是可见的。

    现在,我在错误消息中看到您没有使用MySQL,而是使用MariaDB。MariaDB是MySQL 5的一个分支,在某种程度上与MySQL兼容。您会在这里和那里发现许多小的差异。

    2019-12-29 19:09:31
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载