错误1452:在树结构中添加根时,无法添加或更新子行



我用这个查询创建了一个数据库:

CREATE TABLE progettoschemas.categories (
id DOUBLE NOT NULL,
name VARCHAR(255) NOT NULL,
fatherid DOUBLE NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (fatherid) REFERENCES progettoschemas.categories(id) ON UPDATE CASCADE ON DELETE CASCADE)

因为我想要一个元素与其父亲id相关的树结构。现在的问题是,我希望根具有如下参数:id=1 name=root parentid=0(父亲id=0很重要,我不想更改它,因为如果更改,我将不得不修改很多代码(,但很明显,mysql不允许我这样做,因为没有引用0作为父亲id。有没有办法解决我的问题,保持我想要的参数,或者我必须以某种方式修改它们?

如果不修改数据库结构,我没有找到任何有效的解决方案,所以我被迫将数据库更改为:

CREATE TABLE progettoschemas.categories (
id DOUBLE NOT NULL,
name VARCHAR(255) NOT NULL,
fatherid DOUBLE,
PRIMARY KEY (id),
FOREIGN KEY (fatherid) REFERENCES progettoschemas.categories(id) ON UPDATE CASCADE ON DELETE CASCADE)

并添加了一个名为root的行,其id为0,父亲id为null

最新更新