Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在MySQL 5.5中执行外键(使用XAMPP)_Mysql_Xampp_Mysql 5.5 - Fatal编程技术网

无法在MySQL 5.5中执行外键(使用XAMPP)

无法在MySQL 5.5中执行外键(使用XAMPP),mysql,xampp,mysql-5.5,Mysql,Xampp,Mysql 5.5,我无法在MySQL 5.5(使用XAMPP)中执行外键。 以下是我试图执行的代码: create table Category ( Category_ID int, CategoryName varchar(50), Primary Key (Category_ID) ); create table SubCategory ( SubCategory_ID int, Category_ID int, SubCategoryName varcha

我无法在MySQL 5.5(使用XAMPP)中执行外键。 以下是我试图执行的代码:

create table Category (
    Category_ID int,
    CategoryName varchar(50),
    Primary Key (Category_ID)
);


create table SubCategory (
    SubCategory_ID int,
    Category_ID int,
    SubCategoryName varchar(50),
    Primary Key (SubCategory_ID),
    Foreign Key Category_ID references Category(Category_ID)
);
我试着用int(10)替换int,但没用

此外,我还尝试添加CASCADE suff,但没有成功

即使在表内外添加约束也不起作用

我不断得到的错误是:

1064-您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在“引用类别(类别ID))”附近使用的正确语法。


请帮助。

您需要用括号将外键括起来,如:

create table SubCategory (
    SubCategory_ID int,
    Category_ID int,
    SubCategoryName varchar(50),
    Primary Key (SubCategory_ID),
    Foreign Key (Category_ID) references Category(Category_ID)
    ------------^-----------^
);

非常感谢mamdouh alramadan。我想知道为什么MySQL不能说得更清楚。在这方面,Java、C/C++和任何其他编程语言等编译器都比MySQL好得多。尽管这是一个有效的论点,但您需要了解,每当MySQL说它接近某个对象时,请后退一步,看看前面的命令中有什么错误