Avatar billede rasmuslh Nybegynder
06. april 2006 - 10:42 Der er 6 kommentarer og
1 løsning

Cascade update af primærnøgle

Hejsa

Jeg har lavet et site for mit fodboldhold der understøttes af en MySQL database. Jeg har en række statestikker der alle viser de 12 første spiller_id fra en tabel Spiller. Nu er en af spillere stoppet og jeg vil gerne lave hans spiller_id om til et højere nummer ex.40 så han ikke bliver taget med i statestikkerne.

Jeg har erklæret alle mine tabeller af typen InnoDb og der er referentiel integritet.

Nu er mit spørgsmål. Hvordan laver man en cascade update så hvis jeg sætter et spillet_id til en ny værdie altså Cascader værdien ud i alle tabeller hvor spiller_id optræder.

Mvh.
Rasmus
Avatar billede razmuz_dk Nybegynder
06. april 2006 - 23:45 #1
Hvis du har lavet dine relationer ordenligt, så er det jo bare at UPDATE'e - så opdateres værdierne i de andre tabeller også.

Du laver en "ordenlig" relation således:
ALTER TABLE spillere ADD FOREIGN KEY (spiller_id) anden_tabel(spiller_id) ON UPDATE CASCADE


Du kan også tilføje ON DELETE CASCADE - så sletter den rækker der er linkede.

Håber det hjalp.
Avatar billede rasmuslh Nybegynder
07. april 2006 - 00:11 #2
Jeg kan ikke bare lave en SQL der kører en gang og updaterer alle tabeller? Skal jeg en On Update Cascade på alle mine tabeller.

Og kan man lave et statement så hele databasen sættes ON Cascade Update?
Avatar billede arne_v Ekspert
07. april 2006 - 01:55 #3
nix

det er en af gangen
Avatar billede rasmuslh Nybegynder
07. april 2006 - 08:52 #4
Ok - tak for hjælpen smider i lige et par svar.
Avatar billede razmuz_dk Nybegynder
07. april 2006 - 11:21 #5
Jep ...
Avatar billede arne_v Ekspert
08. april 2006 - 01:21 #6
der må vist være rasmuz's alle sammen
Avatar billede rasmuslh Nybegynder
08. april 2006 - 09:08 #7
Ok, men tak for hjælpen arne
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester