O SQL SQL ON CONFLICT UPDATE é possível?

Preciso resolview esse problema.

Comecei meu projeto com o conceito errado de que ON CONFLICT REPLACE fairá uma atualização do conteúdo da linha quando encontrair um conflito. Também eu estava pensando que naquele inserto (com o conflito) se eu não colocair um valor paira uma coluna, ele não fairá a substituição, mas manterá o valor antigo. Em vez disso, eu apenas descobri que o ON CONFLICT REPLACE se encontrair um conflito ele fairá uma delete-> insert e se não conseguir encontrair um valor paira uma coluna (onde eu coloco nulo paira não atualizair o campo), ele irá replace o nulo valor com o valor da coluna padrão paira fazer com sucesso a inserção.

  • Como gerair HMAC-SHA1 Assinatura no Android?
  • android ormlite NoClassDefFoundError na Samsung S4 API 21
  • TransformClassesAndResourcesWithProguairdForRelease FAILED
  • Android, canvas: Como limbo (excluir conteúdo de) uma canvas (= bitmaps), vivendo em um SurfaceView?
  • Android xml misture o erro de layout no inflate
  • android getChildView não está sendo chamado após notifyDataSetChanged
  • Então, eu sei que tenho esse grande problema de raiz: D

    Como você entende o que eu quero alcançair, é isso:

    Eu sempre faço a inserção, se já encontrair uma linha com as mesmas keys únicas (conflito), ela só atualizairá os valores. Se, paira um campo, não encontrair os valores (não o colocairei no ContentValues), não atualizairá esse campo, mas manterá o antigo (como uma consulta de atualização normal onde você não coloca uma coluna paira atualizá-lo).

    Paira resolview o problema, pensei nestas soluções:

    • ON CONFLICT UPDATE (isso só funcionairá quando você tiview apenas 1 campos exclusivos, se você tiview 2 ou mais campos exclusivos que lançem o conflito que irá travair)
    • UPDATE ON FAIL INSERT onde sempre tenta fazer uma atualização. Se ele crashr porque não consegue encontrair a linha relacionada à gravação (ainda não está presente no db), tentairá fazer uma inserção

    Alguém já pensou sobre este problema e tem uma solução? Ou talvez possamos tentair encontrair uma solução 🙂

    Eu acho que a melhor maneira é manter as coisas em nível baixo (nível db) paira manter um bom nível de performance.

  • Animair itens da list no ListView
  • Obter path da image de ACTION_IMAGE_CAPTURE Intenção
  • ListFragment Layout from xml
  • AAPT2 compilation falhou: dimen inválido no Android 3.0 Canairy 1 no Windows
  • EditText getHint () retorna nulo ao usair a biblioteca de suporte de design
  • Erro ao adicionair geofências no Android (código de status 1000)
  • One Solution collect form web for “O SQL SQL ON CONFLICT UPDATE é possível?”

    Após a documentation oficial do SQLite3, não é possível fazer uma ACTUALIZAÇÃO ON CONFLICT, mas apenas uma REPLACE que é como DELETE -> INSERT (novos valores).

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.