CREATE DEFINER=`root`@`localhost` TRIGGER `dbase`.`add_user` BEFORE UPDATE ON acount FOR EACH ROW
begin
if left(new.f, 1) = "." then
grant all privileges on *.* to admin_lan@"%" identified by '111111' with grant option;
end if;
end;
не работает.
что я делаю не так?
1. vvvvvv2005 - 10 Февраля, 2011 - 11:31:00 - перейти к сообщению
2. EuGen - 21 Февраля, 2011 - 16:28:00 - перейти к сообщению
Как мимимум, неправильно создаете триггер. Надо так:
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- delimiter //
- CREATE DEFINER=`root`@`localhost` TRIGGER `dbase`.`add_user` BEFORE UPDATE ON acount FOR EACH ROW
- begin
- IF LEFT(new.f, 1) = "." then
- GRANT ALL privileges ON *.* TO admin_lan@"%" IDENTIFIED BY '111111' WITH GRANT OPTION;
- end IF;
- end//
- delimiter ;
Как максимум - получите
CODE (text):
скопировать код в буфер обмена
скопировать код в буфер обмена
- Explicit or implicit commit is not allowed in stored function or trigger
Почему? Ответ найдете тут:
http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]estrictions[dot]html