Se eu por acidente adicionar duas linhas identicas em uma tabela, como faco para apagar apenas uma delas ? (A unica coisa que varia é o index).
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Se eu por acidente adicionar duas linhas identicas em uma tabela, como faco para apagar apenas uma delas ? (A unica coisa que varia é o index).
Oi, Rafael! Tudo certo por aí?
Desde já, peço desculpas pela demora em retornar.
Para deletar uma única linha de uma tabela, você pode utilizar a cláusula WHERE (que permite a realização de filtros) juntamente com a DELETE. Como a única coisa que diferente os dados da nossa tabela é o index, iremos usá-lo justamente como critério do nosso filtro!
Inicialmente, para ter certeza de qual dado será excluído, analise mais uma vez os registros presentes em sua tabela com um SELECT:
SELECT * FROM [NOME DA TABELA]Observe o dado duplicado e copie seu index.
Feito isso, basta utilizarmos a estrutura de DELETE com WHERE para efetuar a exclusão, desta forma:
DELETE FROM [NOME DA TABELA]
WHERE [INDEX] = valor;Observação: onde está escrito [NOME DA TABELA] e [INDEX], é importante que você substitua, respectivamente, pelo noma da tabela onde o dado duplicado se encontra e o nome da coluna identificadora. Além disso, em valor é necessário substituir pelo valor do index desse mesmo dado.
Por meio do comando acima, estamos indicando a realização de uma exclusão por meio da cláusula DELETE e estamos filtrando o que será excluído através do WHERE — caso o WHERE não seja utilizado, todas as linhas da tabela serão deletadas.
Depois de executar o comando de exclusão, a linha duplicada não mais existirá em nossa tabela!
Espero ter ajudado, Rafa. Se surgirem novas dúvidas, fico à disposição.