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

Триггеры

04.05.2013, 12:35. Показов 1607. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня!
Люди, вопрос есть: вот я создаю триггер на вставку в таблицу refersto имени экзамена examName при вставке экзамена в таблицу exam
SQL
1
2
3
4
5
6
7
8
DELIMITER //
CREATE TRIGGER `er` AFTER INSERT ON `exam`
 FOR EACH ROW BEGIN
INSERT INTO refersto (examName) 
VALUES (NEW.examName);
END
//
DELIMITER ;
Таблица refersto содержит в качестве внешних ключей поля examName и specName. Соответственно, если я вешаю внешний ключ на refersto.specName, то вставка не происходит, выдается ошибка:

#1452 - Cannot add or update a child row: a foreign key constraint fails (`university`.`refersto`, CONSTRAINT `refersto_ibfk_2` FOREIGN KEY (`specName`) REFERENCES `speciality` (`specName`) ON DELETE CASCADE ON UPDATE CASCADE)
Можно ли как-то после выполнения вставки строки в таблицу exam спрашивать у пользователя, к какой из существующих refersto.specName относить новый refersto.examName?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.05.2013, 12:35
Ответы с готовыми решениями:

Триггеры
Всем здрасте.Проблема:

Триггеры
Доброго времени суток. Есть проблема с триггером. Задание такое: разработать триггер на добавление записей к таблице, такой, чтобы...

Триггеры
Здравствуйте! База данных называется "mybd" Есть таблица "Заказы" с полями код_клиента, фио_клиента, код_номера, дата_заезда, дата_выезда....

2
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
04.05.2013, 12:50
Цитата Сообщение от Pardalis Посмотреть сообщение
a foreign key constraint fails (`university`.`refersto`, CONSTRAINT `refersto_ibfk_2` FOREIGN KEY (`specName`) REFERENCES `speciality` (`specName`)
А поле в триггере (refersto.examName = exam.examName) с этим внешним ключом никак не связано. Вот и получается, что в refersto.specName пытаемся вписать значение по умолчанию, для которого нет родительской записи в speciality.
0
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 16
04.05.2013, 13:42  [ТС]
Цитата Сообщение от Vovan-VE Посмотреть сообщение
refersto.examName = exam.examName
Эм, не поняла, может inserted.examName = exam.examName ?
И, в итоге... а как связать?
Как-то так? Правда, все равно не работает(
MySQL
1
2
3
4
5
6
7
8
9
10
11
12
if exists(select *
   from exam, inserted
   where exam.examName = inserted.examName)
begin
   INSERT INTO refersto (examName) 
   VALUES (NEW.examName)
end 
else
begin
   rollback transaction
   print "Nope"
end

Цитата Сообщение от Vovan-VE Посмотреть сообщение
refersto.specName пытаемся вписать значение по умолчанию
Т.е. при вставке в триггере все равно придется указывать какое-то дефолтное значение из таблицы speciality?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.05.2013, 13:42
Помогаю со студенческими работами здесь

Триггеры
Как сделать в MYSQL, 2 триггера (на добавление и удаление).

Триггеры
Всем привет =) Нужен триггер, которы либо AFTER либо BEFORE INSERT в табицу `test` осуществляет запись в таблицу `log` ...

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

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

Mysql триггеры, добавление строки в ту же таблицу
ПРошу помочь в следующем: где подвох? ошибка выскакивает в версии 5.5 при попытке создать следующий триггер: CREATE OR REPLACE...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
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
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru