Удалить обратную косую черту из JSON объекта в моем триггере MySQL8.x - PullRequest
0 голосов
/ 24 февраля 2020

Я работаю над триггером 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": []}

Что я должен изменить, чтобы фактический результат не отображал обратную косую черту?

...