gpt4 book ai didi

mysql - SQL 无法创建表 errno 150

转载 作者:行者123 更新时间:2023-11-29 12:46:54 24 4
gpt4 key购买 nike

我使用 MySQL Workbench 制作了一个 ERD,现在我正在尝试导入它,

它尝试创建的第一个表出现错误。

sql:

    CREATE TABLE IF NOT EXISTS `db`.`catagories` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NULL,
`catagory` INT UNSIGNED NULL,
`order` INT NULL,
PRIMARY KEY (`id`),
INDEX `fk_catagory_idx` (`catagory` ASC),
CONSTRAINT `fk_catagory`
FOREIGN KEY (`catagory`)
REFERENCES `db`.`catagories` (`catagory`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

1005 - 无法创建表“db.catagories”(错误号:150)

类别和ID都有索引,是相同的,但它仍然抛出这个错误,有什么想法吗?

最佳答案

您的外键约束无效,列类别引用自身。

编辑:回答下面的评论。

如果您想引用父类别,请引用 id 字段。

 CREATE TABLE IF NOT EXISTS `db`.`catagories` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NULL,
`parent_catagory` INT UNSIGNED NULL,
`order` INT NULL,
PRIMARY KEY (`id`),
INDEX `fk_catagory_idx` (`parent_catagory` ASC),
CONSTRAINT `fk_catagory`
FOREIGN KEY (`parent_catagory`)
REFERENCES `db`.`catagories` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

关于mysql - SQL 无法创建表 errno 150,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25305222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com