Editar dados
Dá para editar uma tabela na grade quando ela tem chave primária e a conexão não é somente leitura. Senão, a barra de baixo mostra um cadeado e diz por quê. A edição na grade funciona no PostgreSQL, MySQL e MariaDB, SQLite, SQL Server e ClickHouse; tabelas do Trino são sempre somente leitura.
Redis, MongoDB e DynamoDB têm editores próprios, descritos nas páginas de cada banco.
Alterações pendentes
Nada é gravado até você salvar. Até lá, cada mudança fica pendente e marcada na grade.
- Editar uma célula: dois cliques nela, ou botão direito e Editar. Colunas enum oferecem os valores num menu.
- Definir NULL e Reverter célula ficam no menu do botão direito.
- Adicionar uma linha: clique em Adicionar Linha na barra de baixo. Se a chave primária é uma coluna UUID (ou os valores parecem UUIDs), o Lily gera um novo; chaves inteiras e serial ficam para o banco preencher.
- Duplicar uma linha: botão direito e Duplicar linha. A chave fica vazia, ou ganha um UUID novo.
- Excluir linhas: botão direito e Excluir linha. Com várias linhas selecionadas, o menu age em todas. Desfazer exclusão traz de volta antes de salvar.
A barra de baixo conta o que está pendente, por exemplo 3 editadas · 1 nova · 2 excluídas.
Salvando
Aperte ⌘ S ou clique em Salvar. Descartar joga fora as alterações pendentes.
- Se tem linha excluída, o Lily lista quais são e pede confirmação. Excluir todas as linhas carregadas na grade pede para digitar o nome da tabela.
- Senão, com Ajustes › Dados e consultas › Pré-visualizar SQL antes de aplicar edições ligado (o padrão), você vê os comandos exatos e clica em Aplicar.
- Tudo roda numa transação só: exclusões, depois atualizações, depois inserções, cada uma achada pela chave primária. Se um comando falha, nada muda, suas edições pendentes continuam lá e o erro aparece em cima da grade.
No ClickHouse, atualizações e exclusões vão como mutations ALTER TABLE … UPDATE e ALTER TABLE … DELETE, e como o ClickHouse não tem transação, rodam uma por uma.
Valores binários
Valores que não fazem ida e volta por um campo de texto, como a maioria das colunas binárias, não são editáveis na grade.
