これは簡単な質問です。単純な場合は申し訳ありませんが、構文がよくわからないため、良い例を見つけることができませんでした。
誰かがサービスと呼ばれるテーブルに飛行機を挿入すると、1 つのテーブル「飛行機」のステータス属性を更新する必要があります。ステータスも設定されます。「非アクティブ」と言うと、他のテーブルに対応する必要があります。これは簡単なはずですが、しばらく苦労しています。
前もって感謝します。
飛行機のテーブルはこちら
Create Table Airplane(
Name Char(25) NOT NULL,
aID Int NOT NULL Primary Key,
aCount Int,
status Char(8) NOT NULL DEFAULT 'Active',
cost double Default 0.0
);
これがサービス テーブルです。これらは変更される可能性があります。すべての集中的な目的のために、このトリガーに焦点を当てています。
Create table Servicing(
TicketNumber Int NOT NULL AUTO_INCREMENT Primary Key,
Mechanic Char(50) NOT NULL,
Problem Char(25) NOT NULL,
Airplane Char(25) NOT NULL,
TimeComplete CHAR(25) NOT NULL,
Servicing Char(25) NOT NULL,
Status Char(25) NOT NULL DEFAULT 'Inactive');
これがトリガーですが、問題が発生しているようです。
DELIMITER $$
CREATE TRIGGER Airplane_status_update
AFTER INSERT ON Servicing
FOR EACH ROW
BEGIN
UPDATE Airplane status
SET status = new.status
WHERE name = new.airplane;
END $$
DELIMITER ;