2016-10-09 2 views
0

Я новичок в форуме, у меня есть следующая проблема: я хочу, чтобы после того, как я удалил места в таблице аренды, я поеду в столовые фильмы и ситуация с колонкой станет доступной, но если у меня есть код фильма в расположении таблицы в другом регистре, я все равно оставляю состояние столбца таблицы фильма как арендованное, как бы я это сделал?Как я могу сделать это триггер удалить с помощью валидаций

это то, что я сделал

TRIGGER `tguDelete` AFTER DELETE ON `locations` FOR EACH ROW UPDATE movies SET situation = 'available' WHERE code_location = OLD.code_location 

Я хотел размещать фотографии таблиц, но я новичок на форуме Пожалуйста, помогите мне!

Я использую PHPMyAdmin, и я новичок в MySQL

ответ

1

Я думаю, что ваше определение триггера требуется некоторая работа. Например, вы хотите объявить «trigger function», который должен выполнить AFTER операции DELETE по таблице locations. Это, как вы можете это сделать:

DROP TRIGGER IF EXISTS `tguDelete`; 
DELIMITER $$ 
CREATE TRIGGER `tguDelete` AFTER DELETE ON `locations` 
FOR EACH ROW 
-- condition for rows for which the trigger would fire WHEN (OLD.code_location <> 0) 
-- DECLARE 
    -- if you had things you wanted to declare 
BEGIN 
    -- here you do the updating of the movies table: 
    UPDATE movies SET situation = 'available' WHERE code_location = OLD.code_location; 
END;$$ 
DELIMITER ; 

Если вам не нужно разделителей (т.е. PHPMyAdmin), затем пропустить их, такие как

DROP TRIGGER IF EXISTS `tguDelete`; 
CREATE TRIGGER `tguDelete` AFTER DELETE ON `locations` 
FOR EACH ROW 
-- condition for rows for which the trigger would fire WHEN (OLD.code_location <> 0) 
-- DECLARE 
    -- if you had things you wanted to declare 
BEGIN 
    -- here you do the updating of the movies table: 
    UPDATE movies SET situation = 'available' WHERE code_location = OLD.code_location; 
END; 
+0

Я думаю, что это так, но когда я запускаю его сам из error in when – Pr99

+0

Обновите свой вопрос и добавьте ошибку, которую вы получаете. Фактически вы можете опустить его, если вы не используете его, и посмотрите, работает ли триггер. – ishmaelMakitla

+0

# 1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии сервера MariaDB, для правильного синтаксиса для использования рядом с «WHEN (OLD.code_location <> 0) DECLARE - если у вас есть вещи, которые вы хотели бы делить по строке 1 – Pr99

Смежные вопросы