2013-11-18 2 views
0

Я пытаюсь добавить триггер к моей базе данных SQL из phpMyAdmin. При нанесении на курок:Обновление триггера отключает функциональность базы данных

CREATE TRIGGER `download_url` AFTER INSERT ON 
`tbl_files` FOR EACH ROW UPDATE tbl_files SET 
download = CONCAT('http://website/', url) 
WHERE 1 

При попытке загрузить файл, я не получаю результатов; если я удалю триггер, он будет функционировать должным образом. Мне нужен столбец загрузки для обновления с префиксом [http: // website /] и значением [url].

спасибо !!!

ответ

0

Вы можете использовать значительно более простой подход - вместо триггера AFTER INSERT используйте триггер BEFORE INSERT и манипулируйте входящей строкой, прежде чем записывать ее в таблицу. Вы можете использовать специальную переменную NEW, чтобы ссылаться на эту новую строку:

CREATE TRIGGER download_url 
BEFORE INSERT ON tbl_files 
FOR EACH ROW 
    SET NEW.download = CONCAT('http://website', NEW.url); 
END; 
+0

Wow you are awesome. Отлично работает! Благодаря тонну. –

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