Eu quero atualizar meu raw com a condição if-else. Aqui está meu código sql;
update posts
set like =
if(json_contains(like,2,'$'),
json_remove(like,replace(json_search(like,'one',2),'"','')),
json_array_append(like,'$',2)
)
where id = 3
Minha mesa;
Eu iria | Curti |
---|---|
2 | [] |
3 | [2] |
Após este código sql id= 3
deve ser como id = 2
.
Para resumir,: se json contiver, remova do json; se o json não contiver, envie os dados para o array
O problema é que
JSON_SEARCH()
não funciona com inteiros . Você deve usar strings.Usar JSON no MySQL torna tudo mais difícil. Eu recomendo que você armazene seus gostos em uma segunda tabela. Em seguida, basta
INSERT
uma linha para adicionar uma curtida ouDELETE
uma linha para remover uma curtida.