2011-11-12 14 views
1

別のテーブルにレコードを追加します。トリガーは自動的に私はテーブル持って

ユーザーがItemsテーブルにレコードを追加すると、トリガーはitemAvailabilityテーブルにレコードを自動的に追加する必要があります。 itemAvailability.itemID = Items.itemID

は、現時点では私は、この点に来て、立ち往生:

CREATE TRIGGER updateItemsAvailabilityTbl AFTER INSERT ON items 
BEGIN 
INSERT INTO itemAvailability (itemID) 
VALUES (items.itemID) 
END 

だけでなく、それは私のために動作しません。助けてください。

答えて

1

CREATE TRIGGERステートメントに2つのエラーがあります。挿入された行の要素にアクセスすることができるdocumentation

トリガーアクションで書かれているように1、 を削除またはフォーム「NEW.column名」の参照を使用して更新し、 「OLD.column名"ここで、column-nameは、トリガーが関連付けられている テーブルの列の名前です。 OLDとNEWの参照は次のように彼らは、関連する のイベントのトリガでのみ使用することができる。

INSERT NEWリファレンス有効

UPDATE NEWとOLD参照が有効な

されているOLDの参照を削除します有効である

items.itemIDの代わりにnew.itemIDと書く必要があります。 2. INSERT INTOステートメントは、セミコロンで終了する必要があります。試してみてください:

CREATE TRIGGER updateItemsAvailabilityTbl AFTER INSERT ON items 
BEGIN 
INSERT INTO itemAvailability (itemID) 
VALUES (new.itemID); 
END 
+0

ありがとうございます。できます – NCFUSN

関連する問題