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

时间:2018-05-17 13:52:59

标签: mysql xampp mariadb

我使用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 个答案:

答案 0 :(得分:8)

问题是单词VISIBLE,将其删除即可。 索引默认可见。

你的问题:"如果我删除了VISIBLE它工作正常,那么为什么mysql workbench决定添加可见?"

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

更新:

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

答案 1 :(得分:6)

只需添加到在MySQL Workbench中使用Maria DB的用户,就无需安装mysql。您可以将“默认目标MySQL版本”从“首选项”更改为5.7或5.6,并且工作台将删除VISIBLE关键字。 MySQL Workbench Preference Changes

这是mysql错误的链接 https://bugs.mysql.com/bug.php?id=92269

答案 2 :(得分:0)

我正在使用MySQL Workbench并遇到相同的问题。 更改“首选项”,但无效

解决方案:如果您对模型进行正向导出,则需要在其他位置更改配置。

  1. 转到模型>模型选项
  2. 在“模型选项”中,转到MySQL
  3. 然后将“目标MySQL版本”更改为5.6

example here