我使用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时不必再面对这种问题呢?
3条答案
按热度按时间ne5o7dgx1#
只是为了补充那些使用mariadb和mysql工作台的人,您不需要安装mysql。您只需将“default target mysql version”从preferences更改为5.7或5.6,visible关键字将被workbench删除。
以下是mysql bugs的链接https://bugs.mysql.com/bug.php?id=92269
eblbsuwk2#
我使用的是mysql工作台,有同样的问题。更改了首选项,但不起作用。
解决方案:如果导出模型,则需要在另一个地方更改配置。
转到模型>模型选项
在模型选项中,转到mysql
然后将“目标mysql版本”更改为5.6
oaxa6hgo3#
问题是这个词
VISIBLE
,移除它,它就会工作。默认情况下,索引是可见的。您的问题是:“如果我删除了visible,它就可以正常工作,那么为什么mysql workbench决定添加visible?”
我的答案是:mariadb(afaik!)中还没有实现将索引标记为不可见的选项。
更新:
mariadb的语法不同,请参阅以下参考:https://jira.mariadb.org/browse/mdev-7317