Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 01.12.2022
Сообщений: 11

Создание триггера на удаление данных с другой таблицы

05.12.2022, 16:53. Показов 653. Ответов 5

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Пробую написать триггер на удаление данных с таблицы, но выдает ошибки. Мне нужно удалить учеников при удалении группы. Я создаю таблицу Ученик, в которой хранятся данные с таблицы Группа через foreign key.

При удалении группы с таблицы, мне выдает ошибку что это невозможно сделать, так как я использую foreign key. Что то я немного запуталась и не пойму как по другому связать таблицы, что бы триггер коректно срабатывал.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.12.2022, 16:53
Ответы с готовыми решениями:

Удаление данных с таблицы по условию с другой таблицы
Все привет. Помогите записать запрос на удаление данных с таблицы Access по условию с другой таблицы. Запрос, который нормально...

Создание триггера на удаление
Добрый вечер. Не писал никогда триггеры, подскажите как реализовать следующее- Из таблицы условно говоря Накладные удаляется запись, у...

Создание триггера на удаление
Создал триггер на удаление записей из таблицы, но при удалении записи из таблицы выскакивает ошибка изображенная на фото, целый час маюсь,...

5
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
05.12.2022, 17:13
Цитата Сообщение от Sofia123 Посмотреть сообщение
это невозможно сделать, так как я использую foreign key
Приведи оригинал сообщения. По идее наличие FK не должно оказывать влияния на работу триггера.

Добавлено через 1 минуту
Цитата Сообщение от Sofia123 Посмотреть сообщение
как по другому связать таблицы, что бы триггер коректно срабатывал
Наличие связи PK-FK и корректная работа триггера - вещи перпендикулярные.
0
0 / 0 / 0
Регистрация: 01.12.2022
Сообщений: 11
05.12.2022, 17:31  [ТС]
Цитата Сообщение от Grossmeister Посмотреть сообщение
Приведи оригинал сообщения
Error Code: 1451. Cannot delete or update a parent row: a foreign key constraint fails (`university`.`student1`, CONSTRAINT `student1_ibfk_1` FOREIGN KEY (`group_code`) REFERENCES `student_group` (`id`))

Вот мои таблицы и сам триггер, взгляните, пожалуйста, и, если Вам не трудно, объяснить, что я делаю не так
MySQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
create table student1(
    id int primary key auto_increment,
    fullname varchar(50),
    group_code int,
    foreign key (group_code) references student_group(id)
) engine = InnoDB;
 
create table student_group(
    id int primary key auto_increment,
    title varchar(5)
);
 
DELIMITER $$
create trigger student_delete_trigger
after delete on student_group
for each row
begin
    delete from student1 where student1.group_code = student_group.id;
end $$
DELIMITER ;
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
05.12.2022, 17:39
Цитата Сообщение от Sofia123 Посмотреть сообщение
объяснить, что я делаю не так
Если есть родительская и дочерняя таблицы, то сначала удаляют из дочерней, иначе дочки остаются без родителя. Для того, чтобы этого не допустить, в частности и служит FK
0
0 / 0 / 0
Регистрация: 01.12.2022
Сообщений: 11
05.12.2022, 18:01  [ТС]
Grossmeister,

с дочерней и родительской таблицей я поняла суть, но само задание у меня звучит так, что сначала нужно удалить группы и потом уже с помощью триггера удаляются данные учеников.

я поменяла триггер на before delete on и все равно получаю ошибку: Unknown column 'student_group.id' in 'where clause'. Как в таком случае можно удалять студентов с определенным id группы?
0
 Аватар для Аватар
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
05.12.2022, 23:25
в mysql в триггере new или old используется. почитай что это такое. в данном случае old вместо student_group
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.12.2022, 23:25
Помогаю со студенческими работами здесь

Создание триггера на удаление
Необходимо создать триггер который при удалении строки из таблицы Teachers, удаляет строку из таблицы Lessons, full_name - Первичный ключ...

Создание таблицы из данных другой таблицы
Друзья, добрый вечер! Помогите чайнику,плз!-)) Есть база на MySql, в ней таблица вида: Per Am Rate 1 4 7 1 5 8 1 6 9 ...

Создание триггера на изменение и удаление
Здравствуйте, нужно создать триггер, который при изменении данных в одной таблице, изменяет данные в другой. Так же нужно создать...

Создание и удаление триггера запросом
Всем привет! Ребята, поиском пользовался, но вопрос специфический: Задача, написать запрос: Создание триггера 1 (содержимое...

Создание триггера на изменение и удаление
Здравствуйте, необходимо создать триггер, который при изменении данных в одной таблице, будет добавлять изменённые данные в другую. То же...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru