ОК, происходит что-то странное, и я не могу этого понять. Я создаю некоторые триггеры, но я получаю странные ошибки при попытке создать их на работающей БД. Пример запроса такой:
delimiter |
CREATE TRIGGER debug_upd_before BEFORE UPDATE ON properties_availability
FOR EACH ROW BEGIN
INSERT INTO debug_upd_before SET timestamp = NOW(), avID = OLD.avID, avPropertyID = OLD.avPropertyID,
avAvailableFrom = OLD.avAvailableFrom, avAvailableTo = OLD.avAvailableTo, avPrice = OLD.avPrice,
avIsAvailable = OLD.avIsAvailable;
END|
...
, который выполняется хорошо в местном масштабе. Я использую phpmyadmin, потому что у меня нет другого доступа к онлайн-базе данных. Я знаю, что у меня нет полных прав и думаю, что это может быть как-то связано с этим, но я получаю ошибку:
У вас ошибка в синтаксисе SQL;
проверьте руководство, которое соответствует
ваша версия сервера MySQL для
правильный синтаксис для использования рядом с разделителем |
не "у вас нет прав на это" или что-то в этом роде. То же самое происходит, когда я пытаюсь выполнить что-то более простое, например:
delimiter |
select 1|
select 2
Ошибка, которую я получаю, та же самая, и я не могу установить разделитель, и по умолчанию у меня не работает, потому что я должен использовать после запросов внутри триггеров. Я пробовал другие символы в качестве разделителей, но результат тот же. Есть идеи о том, в чем проблема и как ее избежать? Некоторые из триггеров выполняют более одного запроса, если это имеет значение ...
Спасибо!