Wykonujesz wstawianie do tabeli events
z wartością umieszczaną w kolumnie event_cat
.
Ta wartość nie istnieje już w tabeli categories
w kolumnie cat_id
.
A ty powiedziałeś, że musi. Więc silnik db mówi, że tego nie zrobi. Wiernie wypełnia Twoje rozkazy.