Я работаю над триггером MySQL 8, который получает из существующей базы данных MySQL 5.x и преобразует их в другую структуру, используя функции JSON в MySQL 8.x
У меня есть следующий столбец varchar с именем words
, который возвращает данные в следующем формате (из более старого MySQL 5.x db), например,
["hotel","booking","reservation"]
Однако, когда я вижу это в моем новом MySQL 8.x данные, которые я вижу, выглядят так:
{"assign": "[\"hotel\",\"booking\",\"reservation\"]", "signoff": []}
Как убрать обратную косую черту без установки каких-либо MySQL глобальных переменных (если возможно)?
Это мой код
CREATE TRIGGER dev.ts_rules_u AFTER UPDATE ON dev.rules
FOR EACH ROW
ts_rules_u:BEGIN
-- comment - this NEW is the data from the existing dev.rules row that triggers on an UPDATE query
SET wordsJson = JSON_OBJECT(
'assign', JSON_OBJECT(NEW.words),
'signoff', JSON_ARRAY()
);
INSERT INTO newdb.workflows (
workflows.words
VALUES (
wordsJson
);
Когда я выполняю рабочие процессы SELECT * FROM (на базе данных MySQL 8.x), это выглядит немного неожиданно ...
Ожидаемый результат: {"assign": "["hotel","booking","reservation"]", "signoff": []}
Фактический результат: {"assign": "[\"hotel\",\"booking\",\"reservation\"]", "signoff": []}
Что я должен изменить, чтобы фактический результат не отображал обратную косую черту?