Olá atualmente estou estudando mysql, sqlite, contudo estou com dificuldade de aprender algumas coisas.
Por exemplo eu tenho uma tabela chamada: 'inventario'
Nessa tabela chamada 'inventario' tenho 3 colunas: id, playerid e items
id = AUTO_INCREMENT
playerid = Armazenamento ID Player
items= Armazenamento Items, Facção, Slot
Na coluna 'items' da tabela 'inventario' tenho esse formato:
[ { "maconha": [ 1, 1 ], "cocaina": [ 5, 2 ], "factionid": 1, "anfetamina": [ 3, 3 ], "crack": [ 1, 4 ], "heroina": [ 25, 5 ], "alcool": [ 0, 0 ] } ]
Eu uso a forma padrao e bem simples de alterar algum valor de determinada coluna, por exemplo:
local database = -- Conexão com o banco de dados
local playerID = -- ElementData
local New = 2
dbExec(database, "UPDATE inventario SET items = ? WHERE playerid = ?", New, playerID)
Nessa função de exemplo eu seleciono a tabela inventario e procuro por items, altero a coluna de numero (playerID) e altero colocando nessa coluna (New)
Eu tentei fazer de algumas formas usando:
local inventario = fromJSON(items)
local inventario = toJSON({toJSON({items})})
-- Exemplo da forma que atualiza no banco de dados....
-- >> [ [ "[ { \"1\": \"1\", \"2\": \"1\", \"maconha\": \"maconha\" } ]" ] ]
-- >> [ [ "[ [ { \"maconha\": \"1\" }, { \"maconha\": \"1\" }, { \"maconha\": \"2\" } ] ]" ] ]
Mais todos atualiza bugado no banco de dados, estou quebrando a cabeça pra conseguir alterar somente uma variavel expecifica dentro da estrutura da coluna.
Por exemplo, alterando de:
"maconha": [ 1, 1 ]
para:
"maconha": [ 1, 2 ]
Quero aprender somente aprender alterar os valores dessas 'variaveis'
Alguem pode me ajudar, muito obrigado, espero ter seguido as regras da publicação.