DROP PROCEDURE IF EXISTS kund2orderNew;
DELIMITER ;;
CREATE PROCEDURE kund2orderNew(kundId2 INT)
BEGIN
IF kundId2 <> (SELECT kundId FROM kund2order) THEN
INSERT INTO kundOrder VALUES ();
INSERT INTO kund2order VALUES (kundId2, (SELECT id FROM kundOrder));
END IF;
END
;;
DELIMITER ;
Хорошо, я что-то здесь не так делаю? То, что я пытаюсь сделать, это проверить, есть ли kundId в kund2order, если нет, то, что я хочу сделать, это создать новую строку в таблице kundOrder, которая просто использует значения по умолчанию, а затем взять недавно созданный идентификатор из этой строки в kundOrder и поместите его в новый ряд в kund2order (вместе с kundId).
По какой-то причине он просто дает мне (узел: 18328) UnhandledPromiseRejectionWarning: Ошибка: ER_BAD_NULL_ERROR: столбец 'kundId' не может быть нулевым
Я немного запутался в том, в чем проблема, обе таблицы пусты после того, как я вызвал эту процедуру. Проблема в моем утверждении if или в чем-то другом?