我正在使用phpmyadmin(php
& mysql
)而且我在使用外键链接表时遇到了很多麻烦。
我得到字段countyId
的负值(这是外键)。然而,它链接到我的其他表罚款,它的级联很好。
当我去添加数据时,CountyId
会有一个下拉框,值看起来像这样,
-1
1-
这是我的修改声明:
ALTER TABLE Baronies
ADD FOREIGN KEY (CountyId)
REFERENCES Counties (CountyId)
ON DELETE CASCADE
答案 0 :(得分:9)
正如我在ServerFault上解释的那样:
它不是否定数字,phpMYAdmin的功能是显示外键值和旁边的自定义描述字段。在引用的表(Counties)中,您可以转到“关系视图”,在表格下方有一个选择框“选择要显示的字段”,您可以在其中选择将在引用表中显示在CountyID值旁边的值(Baronies )。另请参阅:phpymadminWiki
答案 1 :(得分:6)
您可以使用ForeignKeyDropdownOrder
选项更改此下拉列表的外观。 (见PMA documentation)。
示例:
$cfg['ForeignKeyDropdownOrder'] = array( 'content-id');
/* 'content' is the referenced data, 'id' is the key value. */
答案 2 :(得分:3)
正如Lex所说,这就是phpMyAdmin显示值的方式。如果您在该下拉框中看到“-1”或“1-”,则只有1。
答案 3 :(得分:-1)
检查您的表是否使用MyIsam引擎。在这种情况下,不支持外键。请改用InnoDB。
答案 4 :(得分:-1)
进行操作而不是将myiasm更改为innoDB而不是Go