Как провести путь json_insert со значением выбора в MySQL?MySql

Форум по Mysql
Ответить Пред. темаСлед. тема
Anonymous
 Как провести путь json_insert со значением выбора в MySQL?

Сообщение Anonymous »

У меня есть поле json custom_fields , и я хочу вставить новый путь с целочисленным значением другого пути в том же поле JSON. Выбор целочисленного значения работает для себя, но не в JSON_INSERT. Как я могу это сделать? < /P>
UPDATE product_translation
SET custom_fields = JSON_INSERT(custom_fields, '$."sorting"', SELECT CAST(JSON_EXTRACT(custom_fields, '$."product_attr4"') AS SIGNED) FROM product_translation)
WHERE JSON_CONTAINS_PATH(custom_fields, '$."product_attr4"')
< /code>
Редактировать:

@Barmar's Hint использовать json_unquote () < /code> принес мне лишню:
Использование в обновлении < /code>, вызывает SQL-fehler (1292): урисованный incorrect integer value: '15b' < /code>.SELECT JSON_VALUE(custom_fields, '$."product_attr4"') AS attr4, CAST(JSON_EXTRACT(custom_fields, '$."product_attr4"') AS SIGNED) AS attr4int FROM product_translation
WHERE JSON_SEARCH(custom_fields, 'one', '15b')
< /code>
shows 16 rows with



attr4
attr4int




15b < /td>
15 < /td>
< /tr>
< /tbody>
< /table> < /div>
Но 16x Warnings: Warnung: (3156). Необходимо json value для актерского состава в COANDGER_EX. 16)
Если я сделаю
SELECT JSON_VALUE(custom_fields, '$."product_attr4"') AS attr4, CAST(JSON_UNQUOTE(JSON_EXTRACT(custom_fields, '$."product_attr4"')) AS SIGNED) AS attr4int FROM product_translation
WHERE JSON_SEARCH(custom_fields, 'one', '15b')
< /code>
с тем же выводом, но после предупреждений Warnung: (1292) усеченное неверное целое значение: '15b' < /code>
Если я сделаю < /p>
SELECT JSON_EXTRACT(custom_fields, '$."migration_AQ-SW5_product_attr4"') AS attr4, CAST(JSON_EXTRACT(custom_fields, '$."migration_AQ-SW5_product_attr4"') AS SIGNED) AS attr4int FROM product_translation
WHERE JSON_CONTAINS_PATH(custom_fields, 'one', '$."migration_AQ-SW5_product_attr4"')

Нет предупреждений, и выход, как и ожидалось. {
"product_attr1": "7003868041, 700.3.86.804.1",
"product_attr2": "0",
"product_attr3": "0",
"product_attr4": "15b",
"product_attr6": 0,
"product_attr7": 1,
"product_attr8": 0,
"product_attr9": 0,
"product_attr10": 0,
"product_attr13": "0",
"setarticle_discount_type": 0,
"setarticle_discount_value": 0.0,
"setarticle_is_set_article": 0,
"setarticle_discount_automatically": 0,
"setarticle_calculate_price_automatically": 0
}
< /code>
> mysql --version
mysql Ver 8.0.42-33 for Linux on x86_64 (Percona Server (GPL), Release '33', Revision '9dc49998')


Подробнее здесь: https://stackoverflow.com/questions/796 ... t-in-mysql
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как провести путь json_insert со значением выбора в MySQL?
    Anonymous » » в форуме MySql
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Как провести путь json_insert со значением выбора в MySQL?
    Anonymous » » в форуме MySql
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Как провести путь json_insert со значением выбора в MySQL?
    Anonymous » » в форуме MySql
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • MySQL RowCount всегда возвращает 1 на операторе INSERT INSERT
    Anonymous » » в форуме Python
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • MySQL RowCount всегда возвращает 1 на операторе INSERT INSERT
    Anonymous » » в форуме MySql
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous

Вернуться в «MySql»