繁体   English   中英

创建外键时出现MySQL错误1064

[英]MySQL Error 1064 when creating foreign key

我使用MySQL WorkBench创建的

ALTER TABLE `android_marketplace`.`ban_utilizator` 
DROP INDEX  ,
ADD INDEX `ban_utilizator_id_utilizator_idx` (`id_utilizator` ASC);
ALTER TABLE `android_marketplace`.`ban_utilizator` 
ADD CONSTRAINT `ban_utilizator_id_utilizator`
 FOREIGN KEY (`id_utilizator`)
 REFERENCES `android_marketplace`.`utilizatori` (`id_utilizator`)
 ON DELETE NO ACTION
 ON UPDATE NO ACTION;

我得到这个:

Operation failed: There was an error while applying the SQL script to the 
database.
Executing:
ALTER TABLE `android_marketplace`.`ban_utilizator` 
DROP INDEX  ,
ADD INDEX `ban_utilizator_id_utilizator_idx` (`id_utilizator` ASC);
ALTER TABLE `android_marketplace`.`ban_utilizator` 
ADD CONSTRAINT `ban_utilizator_id_utilizator`
 FOREIGN KEY (`id_utilizator`)
 REFERENCES `android_marketplace`.`utilizatori` (`id_utilizator`)
 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 '
ADD INDEX `ban_utilizator_id_utilizator_idx` (`id_utilizator` ASC)' at line 2
SQL Statement:
ALTER TABLE `android_marketplace`.`ban_utilizator` 
DROP INDEX  ,
ADD INDEX `ban_utilizator_id_utilizator_idx` (`id_utilizator` ASC)

该错误与外键无关。

您必须命名要删除的索引。

语法错误消息包括问题的上下文。 如果语法错误显示:

检查...以在'ADD INDEX ban_utilizator_id_utilizator_idxid_utilizator ASC)附近使用正确的语法

这意味着该语法希望在您提供ADD INDEX的位置找到其他内容。

在这种情况下,期望您尝试在紧邻ADD INDEX的子句中删除的索引的名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM