Mysql
 sql >> база данни >  >> RDS >> Mysql

Възможно ли е да хвана невалидна стойност в MySQL, когато получа грешка при ограничаване на външния ключ?

За съжаление няма по-добър начин да получите грешки във външния ключ от LATEST FOREIGN KEY ERROR раздел в SHOW ENGINE INNODB STATUS . Информацията в колоната се отпечатва като например:

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     ;;

Това е отпечатване на пълния набор от колони от индекса (fk ), и както се досещате, форматът е:

<column index>:
  len <length of bytes stored>;
  hex <hex representation of bytes>;
  asc <ascii representation of bytes>;;

Освен това, за съжаление, InnoDB не знае достатъчно за това как се съхраняват типовете колони на MySQL, за да ви даде разумно печатно представяне, така че някои от стойностите са малко „странни“, напр. 80000003 е шестнадесетичното представяне на байтовете, съхранени за цялото число 3 (InnoDB вътрешно обръща високия бит).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL- Избиране на най-сходния продукт

  2. Dump файл MySQL 5.6.10

  3. как да работя с рекурсивна заявка в MySql?

  4. Как да съхранявам показатели за моето уеб приложение?

  5. Интерполирайте липсващите стойности в MySQL таблица