Avatar billede shemeri Praktikant
07. februar 2003 - 16:07 Der er 4 kommentarer og
1 løsning

REFERENCES!!!

Hej,

Jeg undre mig, hvad kan jeg bruge References til nar min tabel ser saden ud:

CREATE TABLE Person (
    Person_ID SMALLINT DEFAULT 0 AUTO_INCREMENT NOT NULL,
    Name VARCHAR ( 50 ) NOT NULL
)

CREATE TABLE Uploaders (
    Upload_ID AUTO_INCREMENT NOT NULL,
    Uploader SMALLINT REFERENCES Person(Person_ID)
)

Hvordan skal den sa bruges? Altsa jeg skal vide hvem der har uploadet via Person_ID, men ved ik helt?

:)
Avatar billede roo104 Nybegynder
07. februar 2003 - 19:12 #1
En reference er et link mellem tabeller. Person_ID er primanøgle og Uploader er fremmednøgle.
Hvis du f.eks vil finde navnet på en person der har uploadet noget kan du bruge en JOIN mellem de to tabeller.

Forresten, de tabeller du har kan du ikke oprette, der mangler primanøgle i tabel person og der mangler datatype på upload_id
Avatar billede roo104 Nybegynder
07. februar 2003 - 19:16 #2
Her er at bud på hvordan tabellerne kunne se ud:
CREATE TABLE Person (Person_ID SMALLINT DEFAULT 0 AUTO_INCREMENT NOT NULL PRIMARY KEY, Name VARCHAR ( 50 ) NOT NULL);

og den anden tabel kunne se sådan her ud:
CREATE TABLE Uploaders (Upload_ID SMALLINT AUTO_INCREMENT NOT NULL PRIMARY KEY, uploader SMALLINT REFERENCES Person(Person_ID))
Avatar billede shemeri Praktikant
08. februar 2003 - 15:02 #3
det var kun et eks. :)

Kan du give et eksample pa join mellem de tabeller jeg har ;) tak
Avatar billede roo104 Nybegynder
08. februar 2003 - 16:14 #4
selvfølgelig
SELECT Person.Name, Uploaders.Uploader FROM Person, Uploaders WHERE Person.Person_ID = Uploaders.Uploader and Uploaders.Upload_ID = 1;

Her kommer så lidt forklaring:
1. først vælger du alle de kolonner du ønsker fra de forskellige tabeller
2. derefter fra hvilke tabeller du valger fra
3. her kommer din reference ind. Du vælger tabel1.primanøgle = tabel2.fremmednøgle.
4. Til sidst kan du have en betingelse hvor du vælger hvilket id du ønsker fra uploader tabellen.

Foregspørgslen vil nu returede alle de navne der hører til Uploader id 1
Du kan også vende den om så du kan finde hvor mange id's en person har uploadet
Det er også muligt at vælge igennem mange tabeller.

Du kan læse mere op mysql's side:
http://www.mysql.com/doc/en/JOIN.html

HVis du ønsker kan jeg komme med rigtigt eksempel fra et projekt jeg har lavet
Avatar billede shemeri Praktikant
08. februar 2003 - 16:26 #5
1000 tak :)
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