I'm using phpmyadmin (php
& mysql
) and I'm having a lot of trouble linking the tables using foreign keys.
I'm getting negative values for the field countyId
(which is the foreign key). However it is linking to my other table fine and it's cascading fine.
When I go to add data there will be a drop box for the CountyId
and the values look something like this,
-1
1-
Here is my alter statement:
ALTER TABLE Baronies
ADD FOREIGN KEY (CountyId)
REFERENCES Counties (CountyId)
ON DELETE CASCADE
You can change the look of this dropdown using the
ForeignKeyDropdownOrder
option. (See the PMA documentation).Example:
Check if your tables use MyIsam engine. In that case foreign keys are not supported. Use InnoDB instead.
As Lex said, this is just the way phpMyAdmin displays the values. If you see "-1" or "1-" in that dropdown box, it's just 1.
go to operation than change myiasm to innoDB than Go
As i explained on ServerFault:
It is not negaitve number, the feature of phpMYAdmin is to show foreign key value and a custom description field next to it. In the referenced table (Counties) you can go to "Relation view" and under the table there is a select box "Choose field to display", in which you choose value that will be displayed next to CountyID value in the referencing table (Baronies). Also see: phpymadminWiki