У меня есть таблица с полем JSON. Значение по умолчанию для поля - "NULL"
- теперь я хотел бы обновить одно поле данных JSON.
| ----------------- |
| [int] | [JSON] |
| xy | ipdata |
| ----------------- |
Таким образом, поле может быть примерно таким:
{ ip: "233.233.233.233", "data": "test", "name": "Peterson", "full_name": "Hanson Peterson" }
Так что я бы хотел обновить IP.
update table set ipdata = JSON_SET(ipdata, "$.ip", "newIp") where xy = 2;
Но что произойдет, если поле имеет значение NULL? Похоже, что приведенный выше запрос не «создает» новый JSON только с полем IP. Это просто ничего не делает.
Как я могу сказать mySql вставить {"ip": "newIp"}
, если поле пустое, а в противном случае просто обновить ip
ключ json?