Как при помощи foreign key удалять связанные записи в другой таблице при удалении записи из ссылаемой таблицы?

226
24 июля 2021, 09:00

Есть таблица avatars и таблица users. В таблице users есть поле avatar_id. Как связать эти таблицы так, чтобы при удалении пользователя, удалялся и аватар, на который ссылается этот пользователь?

Если бы наоборот avatars ссылался на пользователя, то в этой ситуации понятно в таблице avatars добавляем FOREIGN KEY (user_id) REFERENCES uasers (user_id) ON DELETE CASCADE. Тогда при удалении пользователя удалится и запись аватарки, которая на него ссылается. Но в моём случае пользователь ссылается на аватарку.

Answer 1
DELIMITER |
CREATE TRIGGER on_delete_user BEFORE DELETE ON users FOR EACH ROW
    DELETE FROM avatars WHERE id=OLD.avatar_id;|
DELIMITER ;

Документация

READ ALSO
Отсутствуют права на запись

Отсутствуют права на запись

Использую laravel+nginxДопустим утром сделал chown -R 777 www-data /var/www/site

140
Как с помощью custom validator сделать проверку двух полей, password и confirmPassword?

Как с помощью custom validator сделать проверку двух полей, password и confirmPassword?

аргумент $value принимает значение только первого свойстваКак правильно применить это ко второму свойству?

178
не работает $ с jquery

не работает $ с jquery

подключаю jquery на wordpress таким образом

305
Найти все ссылки одним выражением

Найти все ссылки одним выражением

Как в тексте одним выражением найти все ссылки содержащие "php" Ссылки могут быть как с href, так и просто в тексте

216