我正在使用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时不必再次面对此类问题?
问题是单词VISIBLE,删除它,它将起作用。默认情况下,索引可见。
VISIBLE
您的问题:“如果我删除VISIBLE,它就可以正常工作,那么mysql workbench为什么决定添加visible?”
我的回答:MariaDB尚未实现将索引标记为不可见的选项(afaik!)。
更新:
MariaDB的语法不同,请参阅以下参考:https : //jira.mariadb.org/browse/MDEV-7317