Я пытаюсь настроить триггер, который срабатывает после обновления таблицы
schichtbewerbungen
Предполагается вычислить различные временные интервалы, а затем создать новую строку в другой таблице, включая вычисленные данные. Эта часть прекрасно работает.
Проблема возникает во время выполнения. Он всегда говорит мне, что мы затронем более одной строки, даже если в таблице есть только одна строка, которая потенциально может быть изменена (как и должно быть).
Однако здесь есть утверждение, возможно, кто-то читаету него лучше глаза или мозг, чем у меня:
INSERT INTO arbeitszeiten (fullname, datum, atotal, astart, astop, active, kommi)
SELECT schichtbewerbungen.fullname,
schichtbewerbungen.datum,
TIMEDIFF(schichtbewerbungen.`start`, schichtbewerbungen.`stop`),
CURRENT_TIMESTAMP(),
ADDTIME(CURRENT_TIMESTAMP(),
(SELECT users.soll
FROM users, schichtbewerbungen
WHERE users.name = schichtbewerbungen.fullname
AND schichtbewerbungen.datum = DATE_FORMAT(CURRENT_TIMESTAMP(), '%d.%m.%Y'))),
'NEIN',
'Diese Schicht wurde automatisch durch bestätigten Urlaub oder Überstundenfrei berechnet'
FROM schichtbewerbungen
WHERE schichtbewerbungen.`status` = 'Bestätigt'
AND NOT schichtbewerbungen.typ = 'Schicht'