Gå til innhold

Database for påmelding til aktiviteter


Anbefalte innlegg

Videoannonse
Annonse

Se om jeg har forstått det riktig. Det skal være en fremmed nøkkel mellom Person person_id og PersonDeltarPåAktivitet aktivitet_id OG PersonDeltarPåAktivitet person_id og mellom Aktivitet aktivitet_id og PersonDeltarPåAktivitet aktivitet_id OG PersonDeltarPåAktivitet person_id?

Lenke til kommentar

Ikke så komplisert,

 

PersonDeltarPåAktivitet.person_id er fremmednøkkel som refererer Person.person_id og PersonDeltarPåAktivitet.aktivitet_id er fremmednøkkel som refererer Aktivitet.aktiviet_id.

 

CREATE TABLE Aktivitet (
			aktivitet_id INT AUTO_INCREMENT NOT NULL,
			aktivitetsnavn VARCHAR NOT NULL,
			PRIMARY KEY (aktivitet_id)
);

CREATE TABLE Person (
			person_id INT AUTO_INCREMENT NOT NULL,
			navn VARCHAR NOT NULL,
			PRIMARY KEY (person_id)
);

CREATE TABLE PersonDeltarPAktivitet (
			aktivitet_id INT NOT NULL,
			person_id INT NOT NULL,
			PRIMARY KEY (aktivitet_id, person_id)
);

ALTER TABLE PersonDeltarPAktivitet ADD CONSTRAINT aktivitet_persondeltarpåaktivitet_fk
FOREIGN KEY (aktivitet_id)
REFERENCES Aktivitet (aktivitet_id)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ALTER TABLE PersonDeltarPAktivitet ADD CONSTRAINT person_persondeltarpåaktivitet_fk
FOREIGN KEY (person_id)
REFERENCES Person (person_id)
ON DELETE NO ACTION
ON UPDATE NO ACTION;

 

Edit: Ser du har brukt InnoDB engine på tabellene dine, og det er fint. Hvis tabellene bruker MyISAM har disse fremmednøklene ingen effekt, mysql bare ignorerer kommandoene uten å gi advarsler eller feilmeldinger.

post-83085-0-76918700-1367737319_thumb.png

Endret av quantum
Lenke til kommentar

Når jeg prøver denne kommandoen får jeg

 

Error

SQL query:

CREATE TABLE Aktivitet(

aktivitet_id INT AUTO_INCREMENT NOT NULL ,

aktivitetsnavn VARCHAR NOT NULL ,

PRIMARY KEY ( aktivitet_id )

);

MySQL said:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOT NULL,

PRIMARY KEY (aktivitet_id)

)' at line 3

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...