выключите проверки внешнего ключа и включите автоматическую фиксацию.
Я бы положил много денег на то, чтобы он был инициатором, но из http://bugs.mysql.com/bug.php?id=5861 :
Стандарт SQL гласит: «Триггерное действие всегда выполняется под авторизация владельца схемы, которая включает триггер ". Это означает, что в MySQL мы должны выполнять тело триггера под авторизацией пользователя, который создал триггер, а не тот, кто выпустил оператор, который вызвал этот триггер.
Извините, я предположил, что это очевидный вопрос: - (
С уважением
РЕДАКТИРОВАТЬ: user () дает вызывающему