Sayangnya tidak ada cara yang lebih baik untuk mendapatkan kesalahan kunci asing selain dari LATEST FOREIGN KEY ERROR
bagian di SHOW ENGINE INNODB STATUS
. Informasi kolom dicetak sebagai misalnya:
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 ;;
Ini mencetak set kolom lengkap dari indeks (fk
), dan seperti yang Anda tebak formatnya adalah:
<column index>:
len <length of bytes stored>;
hex <hex representation of bytes>;
asc <ascii representation of bytes>;;
Lebih lanjut sayangnya, InnoDB tidak cukup tahu tentang bagaimana tipe kolom MySQL disimpan untuk memberi Anda representasi tercetak yang masuk akal, jadi beberapa nilainya agak "aneh" mis. 80000003
adalah representasi hex dari byte yang disimpan untuk bilangan bulat 3 (InnoDB membalik bit tinggi secara internal).