Връзката, която публикувахте като коментар към отговора на Nerd-Herd използва отложено ограничения. Тези ограничения се проверяват в края на транзакцията, а не в момента на изпълнение на оператора.
MySQL не поддържа отложени ограничения
Ако имате абсолютно нужда от отложени ограничения и искате да се придържате към база данни с отворен код, ще трябва да мигрирате към PostgreSQL.