0

ERROR: Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ') ENGINE = InnoDB DEFAULT CHARACTER SET = utf8' at line 12

SQL Code:

    -- -----------------------------------------------------
    -- 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 script execution finished: statements: 7 succeeded, 1 failed

Fetching back view definitions in final form. Nothing to fetch

GMB
  • 216,147
  • 25
  • 84
  • 135

1 Answers1

2

VISIBLE is only supported in very recent versions of MySQL (and not supported at all in MariaDB). Since that's the default setting anyway, you can just dispense this keyword. Same goes for the ASC direction in the index definition:

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
GMB
  • 216,147
  • 25
  • 84
  • 135