sql >> Database teknologi >  >> RDS >> Mysql

MySQL Dublerede rækker

Jeg ville køre en markør (med MySQL SP programmeringssprog, Java, Python, .NET) på denne forespørgsel:

select Name, Firstname, Lastname, count(1)
  from Pruebas
 group by Name, Firstname, Lastname
having count(1) > 1

Derefter, på de returnerede rækker fra markøren, skal du bare gøre, hvad du skal:kontrollere for FIN%-forekomsten, kontrollere for PersonalKeys tilstedeværelse og opdatere i overensstemmelse hermed.

For hver række på markøren kan du åbne en anden markør med:

select *
  from Pruebas
 where Name = the_Name
   and Firstname = the_Firstname
   and Lastname = the_Lastname

Og nu vil du have en indre markør med alle de rækker, du vil ændre. Hvis det er den, du har brug for, så behold den og opdater den med den KEY-værdi, du nævnte. Ellers skal du slette den.

I Oracle kan du opnå det, du ønsker, i én forespørgsel, men jeg tror ikke, at du på den måde får den samme ydeevne, som du ville have med denne tilgang.

Håber det hjælper.



  1. Hvordan kan jeg tilføje en kolonne, der ikke tillader null i en Postgresql-database?

  2. hvordan udfører man Stored Procedure i SQL Developer?

  3. MySQL INSERT - Kræver feltnavne backtick/accent-afgrænsning?

  4. MySQL:bigint vs int