Hei!
Teen ensimmäistä kertaa MYSQL-tietokantaa, enkä saa foreign key:tä toimimaan sitten millään. Tarkoitus olisi tehdä sellainen viittaus taulun Pääkohde ja Työskentelee välille, että kun Pääkohteen saraketta osoite (primary key) päivitetään tai muutetaan, siirtyisivät muutokset taulun Työskentelee kohtaan paikka.
Koodi näyttää tältä:
alter table Työskentelee
add constraint FK_Työskentelee
foreign key (paikka) references Pääkohde(osoite)
on update cascade on delete cascade ;
Vai olisikohan ohjelmani liian vanha ymmärtämään foreign key:tä? En ole varma, mitä mysql:n versiota käytän, koska työskentelen koulun etäkoneen kautta. Olen myös luonut aiemmin kohteeseen viiteavaimia, jotka ovat menneet pieleen, mutta olen poistanut ne. Ne eivät enää näy SHOW CREATE TABLE -komennolla.
Teen ensimmäistä kertaa MYSQL-tietokantaa, enkä saa foreign key:tä toimimaan sitten millään. Tarkoitus olisi tehdä sellainen viittaus taulun Pääkohde ja Työskentelee välille, että kun Pääkohteen saraketta osoite (primary key) päivitetään tai muutetaan, siirtyisivät muutokset taulun Työskentelee kohtaan paikka.
Koodi näyttää tältä:
alter table Työskentelee
add constraint FK_Työskentelee
foreign key (paikka) references Pääkohde(osoite)
on update cascade on delete cascade ;
Vai olisikohan ohjelmani liian vanha ymmärtämään foreign key:tä? En ole varma, mitä mysql:n versiota käytän, koska työskentelen koulun etäkoneen kautta. Olen myös luonut aiemmin kohteeseen viiteavaimia, jotka ovat menneet pieleen, mutta olen poistanut ne. Ne eivät enää näy SHOW CREATE TABLE -komennolla.
Vastaukset 1
Vanhimmat
Todennäköisesti vika on siinä että taulun tyyppi on joku muukuin innoDB, innoDB on ainoa jossa viiteavaimet toimii. http://dev.mysql.com/doc/refman/5.0/en/using-innodb-tables.html
Version saat näkyviin SELECT VERSION();