Bu gönderide SQLSTATE[HY000]: General error: 1442 hatasından bahsediyorum.
MySQL; prosedür (stored procedure), tetikleyici (trigger) özelinde, ekleme öncesi ya da sonrası tablo üzerinde yapılacak değişikliğe izin vermez. Örneğin;
atamalar, sınavlar, kullanıcılar, sınav atamaları tabloları düşünülsün. Kullanım senaryosu olarak; kullanıcı, herhangi bir kullanıcıya sınav atamak istesin (X kullanıcı Y sınavını Z kullanıcısına atayacak). Daha önce bu sınav, bu kullanıcıya atanmış ise, tablodaki (sınav atamaları) uygunluk alanı güncellenmek istensin.
DELIMITER $$
CREATE TRIGGER 'trg_checkAssignmentExam'
BEFORE INSERT
ON 'assignment_exam'
FOR EACH ROW
BEGIN
IF EXISTS (SELECT id FROM assignment_exam WHERE exam_id=NEW.exam_id
AND user_id=NEW.user_id)
THEN
UPDATE assignment_exam SET isAvailable=0 WHERE exam_id=NEW.exam_id
AND user_id=NEW.user_id;
END IF;
END$$
DELIMITER ;
Toplam Beğeni Sayısı: 2
SQLSTATE[HY000]: General error: 1442 Error (used by statement which invoked this stored function/trigger)
Windows Komut Satırından MySQL Erişimi
İki Gün Arasındaki Zaman Farkı (TIMESTAMPDIFF)