Триггер обновления не работает с типом данных json - PullRequest
0 голосов
/ 25 сентября 2018

Я создал триггер следующим образом:

DELIMITER //

CREATE TRIGGER facility_availabilities_after_update
AFTER UPDATE ON facility_availabilities FOR EACH ROW
BEGIN
  INSERT INTO facility_availabilities_clone
  (id,facility_id,availability,`date`,created_at,updated_at)
  VALUES(NEW.id, NEW.facility_id, NEW.`date`, NEW.availability, NEW.created_at, NEW.updated_at);
END; //
DELIMITER ;

одно из моих полей, например доступность - это тип данных json, в котором хранятся данные, как показано на рисунке:

enter image description here

, когда я пытаюсь обновить основную таблицу, т.е. Facility_availabilities Я получаю следующую ошибку:

# 3140 - Неверный JSONtext: «Корень документа не должен следовать за другими значениями.»в позиции 4 в значении для столбца "plant_availabilities_clone.availability".

1 Ответ

0 голосов
/ 25 сентября 2018

Произошла такая же ошибка для данных json, попробуйте использовать функцию JSON_ARRAY в этом случае

VALUES (NEW.id, NEW.facility_id, NEW. date, JSON_ARRAY (NEW.availability), NEW.created_at, NEW.updated_at);

...