Tyvärr finns det inget bättre sätt att få fram de främmande nyckelfelen än från LATEST FOREIGN KEY ERROR
avsnitt i SHOW ENGINE INNODB STATUS
. Kolumninformationen skrivs ut som t.ex.:
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 ;;
Detta är att skriva ut hela uppsättningen kolumner från indexet (fk
), och som du gissade är formatet:
<column index>:
len <length of bytes stored>;
hex <hex representation of bytes>;
asc <ascii representation of bytes>;;
Dessutom vet tyvärr inte InnoDB tillräckligt om hur MySQL:s kolumntyper lagras för att ge dig en rimlig utskriven representation, så vissa av värdena är lite "konstiga" t.ex. 80000003
är hex-representationen av byte lagrade för heltal 3 (InnoDB vänder internt den höga biten).