webForumDet fria alternativet

Byta foreign key från text till tal.

Databaser & SQL

0 svar · 271 visningar · startad av lilja

Medlem sedan juli 20041 183 inlägg
Frågan#1

Jag har en befintlig databas i MS SQL där relationer finns mellan tabellers text-kolumner. Dessa relationer skulle jag vilja ha bort och ersätta med tal-kolumner, men behöver samtidigt behålla nuvarande relationer mellan de rader som redan finns. Någon som har en bra ide på hur man kan göra detta?

Jag har en ide om hur man kan göra men vill gärna ha tips på bättre sätt att genomföra detta.

  1. Skapa nya identitykolumner i alla tabeller
  2. Skapa tal-kolumner som skall fungera som foreign keys i tabeller med befintliga foreign keys
  3. Uppdatera alla tabeller med nya foreign keys värden från de nyligen skapade tal-identity-kolumnerna.
  4. Gör foreign keys-kolumnerna och nya tal-kolumnerna obligatorisk och byt nyckeln från text till tal-kolumnen

Det viktigaste är att alla befintliga relationer behålls.

Tänker jag rätt eller fel? Jag vill helst göra detta som ett script då jag kommer behöva göra samma ändring två gånger, men finns det ett smidigt manuellt sätt säger jag inte nej till det heller. Det handlar om ca 10 tabeller.

395 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
134 ms — deklarationer (db)
125 ms — hämta statistik (db)
134 ms — hämta tråd, inlägg och bilagor (db)
134 ms — ändringar (db)