#mysql
#mysql
Вопрос:
Я создаю триггер в одной таблице для вставки после в другой таблице. Насколько мне известно, с триггерным запросом все в порядке, но я получаю сообщение об ошибке:
Код ошибки: 1017
Не удается найти файл: ‘.rtasys@003cozekimessagein@003e.frm ‘ (ошибка № 22)
Мой триггерный запрос:
DELIMITER $$ CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
TRIGGER `rtasys`.`on_insert_ozekimessagein` AFTER INSERT
ON `rtasys`.`<ozekimessagein>`
FOR EACH ROW BEGIN
INSERT INTO ozekimessageout SET ozekimessageout.`receiver`=NEW.sender;
INSERT INTO ozekimessageout SET ozekimessageout.`msg`=NEW.msg;
INSERT INTO ozekimessageout SET ozekimessageout.`status`=NEW.sender;
END$$ DELIMITER ;
Комментарии:
1. идентичны ли движки таблиц?.. Я задаю эти вопросы следующим образом: forums.mysql.com/read.php?35,134778,134778#сообщение об ошибке-134778
2. спасибо! таблица не была похожа плюс то, как я назвал таблицу
3. Создан аналогичный тип для всех таблиц. может быть, это поможет. и предоставьте исходные данные таблицы, он сможет найти решение
Ответ №1:
MySQL не может найти ozekimessageout
файл определения таблицы (.frm). Попытайтесь:
REPAIR TABLE ozekimessageout;
или заново создайте таблицу ozekimessageout
. Также возможно, что файл существует, но у MySQL нет привилегий для его чтения. Убедитесь, что файл rtasys@003cozekimessagein@003e.frm
существует и MySQL имеет права на его чтение / запись / обновление.