MySQL fk引用返回表…无法插入新行

MySQL fk引用返回表…无法插入新行,mysql,Mysql,谢谢你花时间看我的帖子 我正在“尝试”为项目类别创建一个MySQL表,表中的父类别有一列。我将其作为fk链接回表,并打算将(0)插入到没有父项的项的列值中 以下是表格定义: -- ----------------------------------------------------- -- Table `mydb`.`itemCategories` -- ----------------------------------------------------- CREATE TABLE IF

谢谢你花时间看我的帖子

我正在“尝试”为项目类别创建一个MySQL表,表中的父类别有一列。我将其作为fk链接回表,并打算将(0)插入到没有父项的项的列值中

以下是表格定义:

-- -----------------------------------------------------
-- Table `mydb`.`itemCategories`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `mydb`.`itemCategories` (
  `itecat_id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
  `category` VARCHAR(60) NOT NULL ,
  `parentCat` INT UNSIGNED NOT NULL ,
  PRIMARY KEY (`itecat_id`) ,
  UNIQUE INDEX `uniqueCat` (`category` ASC) ,
  INDEX `fk_itemCategories_itemCategories1` (`parentCat` ASC) ,
 CONSTRAINT `fk_itemCategories_itemCategories1`
    FOREIGN KEY (`parentCat` )
    REFERENCES `mydb`.`itemCategories` (`itecat_id` )
    ON DELETE NO ACTION
   ON UPDATE NO ACTION)
ENGINE = InnoDB;
当我尝试插入新行时,会出现以下错误:

ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`mydb`.`itemCategories`, CONSTRAINT `fk_itemCategories_itemCategories1` FOREIGN KEY (`parentCat`) REFERENCES `itemCategories` (`itecat_id`) ON DELETE NO ACTION)
任何关于如何解决这个问题的帮助,或者更好的方法,都将不胜感激


谢谢

0
是一个值!您应该使用
NULL
作为“空字段”。

谢谢您的回复。尝试了该操作,但出现了以下错误:错误1048(23000):列“parentCat”不能为NULL这是因为您已将其定义为“notnull”。必须更改表架构以允许该字段中存在空值。