MySQL #1064 - 您的 SQL 语法 2020 有错误 [重复]

Posted

技术标签:

【中文标题】MySQL #1064 - 您的 SQL 语法 2020 有错误 [重复]【英文标题】:MySQL #1064 - You have an error in your SQL syntax 2020 [duplicate] 【发布时间】:2021-02-09 06:38:41 【问题描述】:

错误:错误 1064:您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以获取在 ') 附近使用的正确语法 引擎 = InnoDB 默认字符集 = utf8' 在第 12 行

SQL 代码:

    -- -----------------------------------------------------
    -- Table `phacharat`.`news_info`
    -- -----------------------------------------------------

    CREATE TABLE IF NOT EXISTS `phacharat`.`news_info` (
      `News_id` INT(11) NOT NULL,
      `News_Title` VARCHAR(150) NOT NULL,
      `News_Detail` VARCHAR(250) NOT NULL,
      `News_Author` VARCHAR(100) NOT NULL,
      `News_Date` DATE NOT NULL,
      `Admin_id` INT(11) NOT NULL,
      PRIMARY KEY (`News_id`),
      INDEX `Admin_Admin_id` (`Admin_id` ASC) VISIBLE)
    ENGINE = InnoDB
    DEFAULT CHARACTER SET = utf8

SQL 脚本执行完成:语句:7 条成功,1 条失败

以最终形式获取回视图定义。 没什么可取的

【问题讨论】:

【参考方案1】:

VISIBLE 仅在最新版本的 mysql 中受支持(在 MariaDB 中根本不支持)。由于无论如何这是默认设置,您可以省略此关键字。索引定义中的ASC 方向也是如此:

CREATE TABLE IF NOT EXISTS `news_info` (
    `News_id` INT(11) NOT NULL,
    `News_Title` VARCHAR(150) NOT NULL,
    `News_Detail` VARCHAR(250) NOT NULL,
    `News_Author` VARCHAR(100) NOT NULL,
    `News_Date` DATE NOT NULL,
    `Admin_id` INT(11) NOT NULL,
    PRIMARY KEY (`News_id`),
    INDEX `Admin_Admin_id` (`Admin_id`)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8

【讨论】:

以上是关于MySQL #1064 - 您的 SQL 语法 2020 有错误 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册

语法错误或访问冲突:1064 您的 SQL 语法有错误;对应于正确语法的 MySQL 服务器版本

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在附近使用的正确语法

1064. 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在附近使用的正确语法

SQL 错误 1064:您的 SQL 语法有错误

SQLSTATE [42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误 - LARAVEL