Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyjaśnienie zasady działania - CONSTRAINT
maly_pirat
post
Post #1





Grupa: Zarejestrowani
Postów: 215
Pomógł: 0
Dołączył: 13.06.2007

Ostrzeżenie: (0%)
-----


Cześć.

W Kohanie (FW) mamy moduł Auth.
Pod koniec zapytań SQL można zauważyć dodawanie "CONSTRAINT" - na czym to polega?

Choć najbardziej interesuje mnie dlaczego, skąd, po co jest to "ibfk_1" ?
Czy jeżeli będę tworzył inny moduł, który będę łączył za pomocą LEFT JOIN to też powinienem dodać taki klucz CONSTRAINT ?

Pozwolę sobie dodać też drugie pytanie skoro jesteśmy cały czas przy tych samych schematach.
-> Schemat dla users: UNIQUE KEY `uniq_username` (`username`),

Wiem co to znaczy UNIQUE, ale dlaczego uniq_username ? przeszukałem cały folder odpowiedzialny za Auth i nigdzie w zapytaniach nie zauważyłem np. SELECT uniq_username ? - Dlaczego akurat uniq_username ? - To się stosuje w zapytaniach, czy po prostu twórca tego modułu od tak nadał taką nazwę?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
maly_pirat
post
Post #2





Grupa: Zarejestrowani
Postów: 215
Pomógł: 0
Dołączył: 13.06.2007

Ostrzeżenie: (0%)
-----


A jaki Typ powinienem dobrać dla kolumny ostatni_post_ID & ostatni_post_autorID - w newsach chce zapisywać kto napisał ostatniego posta i zrobić przekierowanie do niego, mam coś takiego:

Kod
    ADD CONSTRAINT `news_ibfk_2` FOREIGN KEY (`ostatni_post_ID`) REFERENCES `news_posty` (`ID_MSG`) ON UPDATE,
    ADD CONSTRAINT `news_ibfk_3` FOREIGN KEY (`ostatni_post_autorID`) REFERENCES `users` (`id`) ON UPDATE;


Tylko, że dostaje błąd w postaci:

Kod
#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 ' ADD CONSTRAINT `news_ibfk_3` FOREIGN KEY (`ostatni_post_autorID`) REFERENCES' at line 3


Dodam, że podczas dodawania nie miałem selectboxa (html) aby wybrać ID_POSTU więc stąd może być ten błąd.
Jednak przecież jak mogę mieć selectboxa skoro news dopiero się dodaje , więc nie można od razu tak go skomentować.

Jakieś propozycje?
Go to the top of the page
+Quote Post
phpion
post
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(maly_pirat @ 23.03.2010, 14:37:37 ) *
Jakieś propozycje?

Nie będę dublował wiedzy:

http://dev.mysql.com/doc/refman/5.1/en/inn...onstraints.html
Cytat
[CONSTRAINT [symbol]] FOREIGN KEY
[index_name] (index_col_name, ...)
REFERENCES tbl_name (index_col_name,...)
[ON DELETE reference_option]
[ON UPDATE reference_option]

reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION

Wytłuściłem to, co będzie przydatne.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 18:49