“创建外键时出错(检查数据类型)……”但它们确实匹配……

Mar*_*ana 4 mysql innodb phpmyadmin constraint

我在尝试创建约束时遇到以下错误:

\n\n
\n

Error creating foreign key (check data types)

\n
\n\n

问题是\xe2\x80\xa6 这些列数据类型确实匹配。

\n\n

目标是 ,int(10) unsigned NOT NULLPRIMARY列。\n同一个表中的源是int(10) unsigned DEFAULT NULL,而我尝试创建的约束是一个简单的ON DELETE RESTRICT, ON UPDATE CASCADE

\n\n

现在,当然目标是NOT NULL,源是NULL,但这完全是故意的,也是我所需要的,我看不出这怎么会成为问题。我可以理解如果是相反\xe2\x80\xa6

\n\n

这真的是问题所在吗?为什么?那我该如何解决呢?我不想被迫在那里插入一个值,即使我不需要一个值,我也不想NULLPRIMARY列上启用,这没有多大意义。

\n\n

还有什么问题?

\n

Mar*_*ana 5

这是 phpmyadmin 的一个错误。

当您创建新约束时,您通常可以将其名称字段留空,它会为您填充它。

这一次,由于某种未知的原因,这不起作用并给出了这个不相关的错误。

填写名称字段就可以了,并允许我创建约束。