【问题标题】:MySQL #1064 - You have an error in your SQL syntax 2020 [duplicate]MySQL #1064 - 您的 SQL 语法 2020 有错误 [重复]
【发布时间】: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 条失败

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

【问题讨论】:

    标签: mysql sql mariadb create-table


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-10
      • 2012-10-10
      • 1970-01-01
      • 2017-02-19
      • 1970-01-01
      • 1970-01-01
      • 2012-07-21
      • 1970-01-01
      相关资源
      最近更新 更多