2015-02-05 6 views
1

Я ищу, чтобы создать триггер новой вставки, чтобы изменить значение. Сценарий выглядит следующим образом. Когда добавляется новая запись в таблицу, и если ObjectTypeID находится между 684 и 750, обновите значение качества до 100. Из того, что я прочитал до сих пор, я считаю, что это нужно сделать после вставки после, но я все еще новичок для SQL и обучения. До сих пор я не мог заставить это работать.Вставка триггера SQL после изменения значения

Вот моя текущая попытка:

CREATE TRIGGER `items_after_insert` AFTER INSERT ON `items` FOR EACH ROW 
BEGIN 
SET items.Quality = '100' 
FROM items 
WHERE items.ObjectTypeID > '653' AND items.ObjectTypeID < '751' 
END 

решаемой с помощью ниже предложений:

CREATE TRIGGER `items_before_insert` BEFORE INSERT ON `items` FOR EACH ROW BEGIN 
    IF NEW.ObjectTypeID > '653' AND NEW.ObjectTypeID <'751' THEN 
     SET NEW.Quality = '100'; 
    END IF; 
END 
+0

CREATE TRIGGER 'items_after_insert' ПОСЛЕ ВСТАВИТЬ на' 'деталей для каждой строки НАЧАТЬ SET items.Quality = '100' ИЗ пунктов ГДЕ items.ObjectTypeID> '653' И items.ObjectTypeID < '751' КОНЕЦ –

ответ

1

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

Посмотрите на этот пример из MySQL documentation:

CREATE TRIGGER upd_check BEFORE UPDATE ON account 
FOR EACH ROW 
BEGIN 
    IF NEW.amount < 0 THEN 
     SET NEW.amount = 0; 
    ELSEIF NEW.amount > 100 THEN 
     SET NEW.amount = 100; 
    END IF; 
END; 

Теперь я думаю, что подмигнули легко U решить вашу проблему.

+0

Спасибо, использовал эту ссылку для решения проблемы. –

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