首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我不确定为什么无法运行此sql脚本

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

Stack Overflow用户
提问于 2019-12-29 17:57:09
回答 1查看 43关注 0票数 0

使用我的sql创建了此脚本,但不确定脚本出了什么问题

代码语言:javascript
复制
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’

EN

回答 1

Stack Overflow用户

发布于 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兼容。你会发现这里和那里有很多细微的差别。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59518375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档