sql >> Database >  >> RDS >> Sqlserver

Int primaire sleutel converteren naar bigint in Sql Server

Je zou een gefaseerde aanpak kunnen proberen.

  1. Maak een nieuwe bigint-kolom
  2. Maak een invoegtrigger om nieuwe vermeldingen synchroon te houden met de 2 kolommen
  3. Voer een update uit om alle lege waarden in de bigint-kolom te vullen met de geconverteerde waarde
  4. Verander de primaire index in de tabel van uw oude id-kolom in de nieuwe
  5. Wijs eventuele FK's en vragen aan om de nieuwe kolom te gebruiken
  6. Wijzig de nieuwe kolom om uw identiteitskolom te worden en verwijder de invoegtrigger uit #2
  7. Verwijder de oude ID-kolom

Je zou uiteindelijk de pijn over deze 7 stappen moeten verdelen in plaats van alles tegelijk te doen.



  1. Opgeslagen procedure, linker join geeft me dubbele rijen, maar ik wil de bovenste (1) rij voor elke record met dezelfde ID

  2. Databases maken met liquibase op een lege mysql-instantie

  3. Invoegen, bij dubbele update in PostgreSQL?

  4. Externe Symfony2 + Netbeans-workflow (feat. git)