Avatar billede nielsandersen Nybegynder
24. december 2004 - 14:52 Der er 5 kommentarer og
1 løsning

primær og sekundære nøgler

Jeg er lige skiftet over fra MSSQL til MYSQL database. Jeg har fundet denne eksempel der laver en relation imellem to tabeller. Sådan som jeg forstår kode så kræver det at før man kan indsætte en værdi shirt tabellen så skal man have en ID fra person tabellen. Men jeg kan sagtens indsætte en værdi shirt tabellen selvom jeg indsætter en ID som ikke findes i person tabellen? Budre MySQL databasen ikke at forhindre denne indsættelse ??

CREATE TABLE person (
    id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    name CHAR(60) NOT NULL,
    PRIMARY KEY (id)
);

CREATE TABLE shirt (
    id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    style ENUM('t-shirt', 'polo', 'dress') NOT NULL,
    color ENUM('red', 'blue', 'orange', 'white', 'black') NOT NULL,
    owner SMALLINT UNSIGNED NOT NULL REFERENCES person(id),
    PRIMARY KEY (id)
);
Avatar billede arne_v Ekspert
24. december 2004 - 14:55 #1
Du kan kun få MySQL til at checke hvis du bruger InnoDB tabeller ikke
med MyISAM tabeller (MyISAM tabeller er default).
Avatar billede nielsandersen Nybegynder
24. december 2004 - 15:54 #3
Det er vist rigtigt. Jeg kan godt får det til at virke når jeg bruger InnoDB hos min webudbyder men ikke på min lokale maskine. Skal MySql databasen sættes op til det og hvordan gør man i givet fald ?
Avatar billede arne_v Ekspert
24. december 2004 - 16:45 #4
Muligtvis er det nok at create table smed:

CREATE TABLE (...) TYPE=INNODB;
Avatar billede nielsandersen Nybegynder
24. december 2004 - 23:10 #5
kommer du med et svar arne så jeg kan give point?
Avatar billede arne_v Ekspert
24. december 2004 - 23:13 #6
ok
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