2011-05-20 91 views
1

我在一個表上創建了一個觸發器,以在另一個表上插入。觸發查詢似乎是好到我所知,但我得到的錯誤:MySQL錯誤代碼1017

Error Code : 1017
Can't find file: '.\rtasys\@[email protected]' (errno: 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 ; 
+0

是表引擎相同嗎?..我問下面這個問題:http://forums.mysql.com/read.php?35,134778,134778#msg-134778 – 2011-05-20 11:53:37

+0

thankx!該表格與我如何命名錶格不相似 – ngunjirimacharia 2011-05-20 13:01:53

+0

與所有表格類似。可能是這個幫助。並給出表格來源,它會幫助找到解決方案 – 2011-05-20 13:08:04

回答

4

MySQL不能找到ozekimessageout表定義文件(.FRM)。嘗試:

REPAIR TABLE ozekimessageout; 

或重新創建表ozekimessageout。文件也可能存在,但MySQL沒有權限讀取它。檢查文件rtasys\@[email protected]是否存在,MySQL有權讀取/寫入/更新它。