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

标签 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 varchar(50),
    Primary Key (SubCategory_ID),
    Foreign Key Category_ID references Category(Category_ID)
);

我尝试用 int(10) 替换 int,但没有帮助。

另外,我尝试添加 ON CASCADE suff 但它不起作用。

即使在表内部和外部添加 CONSTRAINT 也不起作用。

我不断遇到的错误是:

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在“引用类别(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)
    ------------^-----------^
);

关于mysql - 无法在 MySQL 5.5 中执行外键(使用 XAMPP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20309705/

相关文章:

Windows 7 上的 XAMPP 无法正常工作

mysql - 从大型 percona mysql 数据库中删除多行

MySQL 从两个表与一个左连接

mysql - Rails SQL 查询,将 id 数组传递给 sql WHERE ... IN 子句

mysql - 无法使用可移植 Xampp 通过 Django 连接到 MySQL

mysql执行计划解释

MySQL DDL 创建表时出错

php - WordPress MySQL 查询不工作但类似的查询工作

php - 将多个字段的值相加然后插入 php 中的 MySQl 列

php - 无法访问 localhost/xampp/index.php