Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: niech mnie ktos oswieci
Forum PHP.pl > Forum > Bazy danych > MySQL
boya
Witam

Chcialem napisac cos co bedzie mozna odpalic na kazdym mysql, projekt wymaga powiazania tabel zgodnie z 3NF... wiec klucze obce. Probuje cos zdzialac poprzez phpmyadmina, ale caly czas wszystkie tabele cokolwiek bym nie zrobil maja silnik MyISAM,

czy na MYISAM mozna ustaiwac klucz obce ?

W opcjach wyboru silnika na tabelach niestety nie mam czegos takiego jak InnoDB... sa jakies rozwiazania oprocz konfiguracji configa mysql-a ?

przegladam tutejsze rozwiazania ale odpowiedzi nie znalazlem... wiec prosze o pomoc.

pozdr.
SongoQ
Cytat
czy na MYISAM mozna ustaiwac klucz obce ?


NIE

Cytat
W opcjach wyboru silnika na tabelach niestety nie mam czegos takiego jak InnoDB... sa jakies rozwiazania oprocz konfiguracji configa mysql-a ?


Tylko modyfikacja w pliku my.ini i przeladowanie mysqla
boya
dziekuje za odpowiedz, od jutra scigam admina smile.gif
mysz
Cytat(SongoQ @ 17.02.2007, 10:09:33 ) *
NIE


Kłamiesz.
SongoQ
Cytat
Kłamiesz.

Mozesz to potwierdzic?
dr_bonzo
Klucze obce to PK innych tabel + wymuszanie ich integralnosci (i tego MyISAM nie ma) (http://en.wikipedia.org/wiki/Foreign_key)

In MySQL Server 3.23.44 and up, the InnoDB storage engine supports checking of foreign key constraints, including CASCADE, ON DELETE, and ON UPDATE. See Section 14.2.6.4, “FOREIGN KEY Constraints”.

A manual mowi:
Cytat
For storage engines other than InnoDB, MySQL Server parses the FOREIGN KEY syntax in CREATE TABLE statements, but does not use or store it. In the future, the implementation will be extended to store this information in the table specification file so that it may be retrieved by mysqldump and ODBC. At a later stage, foreign key constraints will be implemented for MyISAM tables as well.

http://dev.mysql.com/doc/refman/5.0/en/ans...reign-keys.html
SongoQ
@dr_bonzo Dziekuje smile.gif Z tego co sie dowiedzialem to raczej to nie bedzie zmienienone. MySQL (InnoDB jesli tego nie posiada to wydajnosc jest bardzo wielka) a wiadomo reczej w tym kierunku ta baza danych nie bedzie zmierzac.
mysz
Cytat(SongoQ @ 17.02.2007, 14:06:44 ) *
Mozesz to potwierdzic?


dr_bonzo mnie uprzedził. A wystarczyło z Twojej strony zajrzeć do manuala...

Nie zmienia to faktu, że poza przypadkami gdy naprawdę wydajność jest ważniejsza od wielu innych rzeczy, to lepiej jest używać InnoDB, właśnie dla pełnej obsługi featur związanych z kluczami obcymi i tranzakcji, jeśli tylko ktoś umie te dwie rzeczy wykorzystać ;)
SongoQ
To bylo potwierdzenie na to ze sie mylisz i nie bylo, nie bedzie i nie ma mozliwosci stosowania kluczy obcych w tabelach InnoDB.
mysz
Pytanie było: czy można ustawiać.

Ustawiać możesz, ale nic one nie dają (w MyISAM). I wręcz przeciwnie, właśnie w InnoDB klucze obce działają jak należy, ignorowane są w MyISAM.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.