MySQL错误1064语法,但一切似乎都很好

我使用xampp控制面板,从那里我开始apache和mysql的过程.然后我去mysql工作台,服务器状态似乎没问题,这里有一些信息

Host: Windows-PC
Socket: C:/xampp/mysql/mysql.sock
Port: 3306
Version 10.1.31-MariaDB mariadb.org binary distribution
Compiled For: Win32(32)
Configuratin File: unknown

每当我尝试为我的虚拟架构添加外键时,例如:

 ALTER TABLE `puppies`.`animals` 
 ADD INDEX `Breed_idx` (`BreedID` ASC) VISIBLE;
 ;
 ALTER TABLE `puppies`.`animals` 
 ADD CONSTRAINT `Breed`
 FOREIGN KEY (`BreedID`)
 REFERENCES `puppies`.`breeds` (`Breed`)
 ON DELETE NO ACTION
 ON UPDATE NO ACTION;

我收到以下错误

 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 
 '' at line 2
 SQL Statement:
 ALTER TABLE `puppies`.`animals` 
 ADD INDEX `Breed_idx` (`BreedID` ASC) VISIBLE

那么我能做些什么让xampp开始在mariaDb上使用mysql语法?

或者,如果我对问题的理解是错误的,那么我应该怎样做才能在使用xampp时再次面对这类问题?

解决方法:

问题是可见,删除它,它会工作.
索引默认可见.

你的问题:“如果我删除可见它工作得很好,那么为什么mysql workbench决定添加可见?”

我的回答:标记索引不可见的选项尚未在MariaDB中实现(afaik!).

更新:

MariaDB的语法不同,请参阅此参考:https://jira.mariadb.org/browse/MDEV-7317

上一篇:什么是经常出现的解决方案#126 – 表’/tmp/#sql_4a05_0.MYI’的密钥文件不正确;尝试在mysql中修复它?


下一篇:如何在删除太多MySQL数据库后修复XAMPP?