Helaas is er geen betere manier om de Foreign Key-fouten te krijgen dan met de LATEST FOREIGN KEY ERROR
sectie in SHOW ENGINE INNODB STATUS
. De kolominformatie wordt afgedrukt als bijvoorbeeld:
Trying to add in child table, in index `fk` tuple:
DATA TUPLE: 2 fields;
0: len 11; hex 4163636573736f72794964; asc AccessoryId;;
1: len 4; hex 80000003; asc ;;
Dit is het afdrukken van de volledige set kolommen uit de index (fk
), en zoals je al geraden had, is het formaat:
<column index>:
len <length of bytes stored>;
hex <hex representation of bytes>;
asc <ascii representation of bytes>;;
Verder weet InnoDB helaas niet genoeg over hoe de kolomtypen van MySQL worden opgeslagen om u een redelijke gedrukte weergave te geven, dus sommige waarden zijn een beetje "raar", b.v. 80000003
is de hexadecimale weergave van de bytes die zijn opgeslagen voor het gehele getal 3 (InnoDB draait intern de hoge bit om).