我创建了一个触发器,如下所示:
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数据类型并存储数据,如图所示:
当我尝试更新主表时,即facility_availities,我收到以下错误:
#3140 - 无效的 JSON 文本:“文档根目录后面不能跟其他值。”位于“facility_availability_clone.availability”列值的第 4 位。
最佳答案
对于 json 数据也有同样的错误,在这种情况下尝试使用 JSON_ARRAY 函数
VALUES(NEW.id, NEW.facility_id, NEW.日期
, JSON_ARRAY(NEW.availability), NEW.created_at, NEW.updated_at);
关于mysql - 更新触发器不适用于 json 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52497669/