当mysql中有外键时,如何向列中插入

当mysql中有外键时,如何向列中插入,mysql,Mysql,大家好,我有一些问题,我一直在尝试将数据插入到MSQL中有外键的列中,但我无法使其工作。如果有人能帮我,我将不胜感激 Category ( idCategory int(20) auto_increment not null, NameCategory varchar(40) not null, PRIMARY KEY (idCategory) ); SubCategory ( idSubCategory int(10)not null primary key auto_incre

大家好,我有一些问题,我一直在尝试将数据插入到MSQL中有外键的列中,但我无法使其工作。如果有人能帮我,我将不胜感激

 Category
(
 idCategory int(20) auto_increment not null,
 NameCategory varchar(40) not null,
 PRIMARY KEY (idCategory)
);

SubCategory
( 
 idSubCategory int(10)not null primary key auto_increment ,
 NameSub varchar(40) not null,
 FK_Category int not null 
);

ALTER TABLE SubCategory auto_increment=1;

ALTER TABLE SubCategory
ADD FOREIGN KEY (PK_Category)
REFERENCES Category (idCategory);
我试过三种方法,但都不管用

INSERT INTO Subcategory (NameSub)
VALUES ( 'Nisan');

INSERT INTO Subcategory (idSubCategory, NameSub,PK_Category)
VALUES (01, 'Nisan', 01);

INSERT INTO subcategory (NameSub, PK_Category) VALUES
    ( 'Nisan' SELECT idCategory from Category WHERE idCategory = 1 );

由于某些原因,您的外键约束脚本对我不起作用,因此我采用了另一种方法。
我弄明白了为什么之后,你引用了你的
添加外键(PK\u类)
,而不是
(FK\u类)

这是插页

INSERT INTO Category (NameCategory)
VALUES ('Car');

INSERT INTO Subcategory (NameSub,FK_Category)
VALUES ('Nisan', 01);
因为您没有指定类别表的内容,所以我创建了一个

注意:您可能遇到的问题是父表为空,然后会出错


我建议的答案是否解决了您的问题?
INSERT INTO Category (NameCategory)
VALUES ('Car');

INSERT INTO Subcategory (NameSub,FK_Category)
VALUES ('Nisan', 01);