Выполняется более 1 строки - SQL - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь настроить триггер, который срабатывает после обновления таблицы

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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...