Доброго времени суток. Есть таблицы departments и users. Записи из таблицы юзеров могут иметь ссылку на записи из departments, но не обязательно, в определении столбца стоит, что он может быть NULL.
Понадобилось установить на них ссылочную целостность, то есть при удалении записи из departments, если кто-то в users имеет ссылку на нее, то должна вылетать ошибка. Использую такой запрос для установки внешнего ключа:
ALTER TABLE `users`
ADD CONSTRAINT `users_ibfk_2`
FOREIGN KEY (`department_id`)
REFERENCES `departments` (`id`) ON DELETE RESTRICT;
И вся запара в том, что это не работает для столбцов, которые могу быть NULL. При удалении записи из departments, в таблице users, значение столбца department_id тупо устанавливается в NULL. Если запретить NULL, то естественно всё работает и ошибка вылетать будет. Но мне нужно что бы столбец мог быть NULL. Подскажите что делать. Движок, если что MyISAM, просто читал, что это работает только на нём.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей