Nedarvning / insert
Hej eksperter!Jeg har et lille problem ang. noget "nedarvning" i MySQL. Jeg tror, jeg vælger "medie-eksemplet", som jeg har set omtalt tidligere herinde.
Vi har f.eks. en tabel "Medie" som indeholder:
MedieID, MedieNavn, MedieType
Derudover har vi en masse "sub-tabeller", som kunne være f.eks. "VHS bånd", "DVD'er" og "CD'er".
Hver af disse undertabeller har et MedieID, som refererer til basistabellens MedieID - altså en foreign key til MedieID i tabellen "Medie".
MedieID i basisklassen er auto-increment.
Nu ønsker, jeg er indsætte et nyt medie i databasen.
Insert into Medie(MedieNavn,MedieType) values('Min film','VHS')
For nu at kunne referere til Medie-tabellen i "VHS"-tabellen, skal jeg huske at hente "Last insert-id" ud af databasen. Det er ikke noget problem. Lad os antage at det auto-genererede ID var "20" - så kan jeg nu skrive:
Insert into VHS(MedieID,Spilletid,Position) values(20,120,1)
Jeg synes bare, at det er så uhyggelig grimt. Jeg vil gerne kunne indsætte af én gang, så jeg ikke skal hente det auto-genererede ID ud først og dernæst udføre en NY query for at indsætte "resten" af mit medie.
Der må findes en pænere løsning til dette problem? :)
Mvh
Martin