'class_total'、 'class_attended'および 'attendance_percent'の3つのフィールドを持つ 'attendance'テーブルがあります。 フィールド 'class_total'と 'class_attended'に値が(class_attended/class_total)* 100で挿入/更新されるたびに 'attendance_percent'の値を挿入/更新したいとします。このため 私はトリガを使用しています:2つの異なるフィールドの値に基づいてテーブルにパーセント値を挿入するためのトリガー
CREATE TRIGGER percent_update
BEFORE INSERT ON attendance
FOR EACH ROW
SET NEW.attendance_percent =(attendance.class_attended/attendance.class_total)*100 ;
しかし、その作業はありません。
attendance_percentが別のフィールドから計算されている場合は、SELECT文でその場でこの値を計算することができます。 – Devart
「働いていない」ことについて詳しく説明できますか?エラーやデータの挿入、間違ったデータの挿入などがありますか?例助け:) – MatBailie
トリガークエリはok.Butですが、その後、テーブルに値を挿入しようとしました。 INSERT INTO出席者(class_total、class_attended) VALUES(5,4); Mysqlはエラー1109(42S02):フィールドリストに '出席'テーブルが不明です。 トリガのattendance_updateを削除すると、挿入クエリが正常に動作しています。 – Akarsh