Предположим, у меня есть следующая структура таблицы MySQL:
=============================================== ===========
| id | имя | адрес |
++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++
| 1 | Рассвет | {"штат": "Мэриленд", "город": "Аннаполис"} |
| 2 | Пабло | {"штат": "Огайо", "город": "Колумб"} |
Адресный столбец имеет тип json. Я использую книжную полку и knex ORM в своем приложении, мне нужно сделать запрос, чтобы он получал имя и название штата без города.
Мой простой SQL-запрос будет выглядеть так:
выберите имя, адрес -> "$. Штат"
от пользователя
OR
выберите имя, json_extract (адрес, "$ .state")
от пользователя
Но когда я делаю это, используя Книжную полку:
user.select ('name', 'address -> "$. state"'). fetch (). then (....)
Я получаю недопустимую ошибку в команде SQL из-за формата кавычек и обратной косой черты.
SQL, сгенерированный с использованием книжной полки, выглядит следующим образом:
выберите 'address -> \ "' .'state \" ',' name 'из `user.
Какие-либо предложения, чтобы избежать проблемы с меткой обратного удара вокруг символа Dot (.) Или какой-то другой подход?
PS: это всего лишь пример