![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie!
Idea jest prosta, mam tabelę grup wyglądającą tak: (IMG:http://wstaw.org/m/2011/03/17/Screen_shot_2011-03-17_at_21.31.38.png) Jak pewnie każdy się domyśla pole isDef gdy jest równe 1 mówi skryptowi, że dana kategoria jest domyślną. Problem jest taki, że użytkownicy to kombinatorzy i nawet jak zabezpieczam to od kodu ktoś może grzebać w sqlu (lub któryś plugin). Chciałbym od strony sqla zabezpieczyć to tak, aby "1" nie mogło wystąpić więcej niż raz. Zwykłe unique tu nie zadziała bo zera przecież mogą się powtarzać. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
PHP w to nie wciągaj. PHP to książkowy przykład burdelu spowodowanego tym, że każdy robił jak chciał. Pomijamy fakt, że obecnie PHP jest w fazie przejściowej, tj. cały nowy kod powinien być pisany wg notacji camelCase.
Cytat idąc tym tropem wg. mnie powinno się pisać w całym projekcie w jeden sposób (baza danych jest częścią projektu, right?). Kod PHP pisze się inaczej, kod CSS pisze się inaczej, kod XML pisze się inaczej, kod YAML pisze się inaczej, kod SQL pisze się inaczej, kod Javy pisze się inaczej, kod Basha pisze się inaczej - wszystkie pisze się inaczej mimo iż nie ma najmniejszego problemu by wystąpiły wszystkie w jednym projekcie.Cytat Kolejna sprawa - nie nazwałbym SQLa językiem - formalnie się do nich zalicza ale nie pisze się w nim jako takich funkcji, pętli, przekształceń (a bynajmniej nie powinno się - jest to możliwe ale wciąż trzeba pamiętać, że to BAZA danych a nie PREPROCESOR danych). Język SQL jest pełnoprawnym deklaratywnym językiem programowania w którym występują przekształcenia, pętle czy funkcje (no, te ostatnie to raczej zaliczają się do rozszerzeń SQLa, ale ogólnie przyjmuje się to wszystko za jedność). Nie wiem też co tutaj mają preprocesory do rzeczy.W skrócie: nie rób burdelu i dostosuj się do ogólnie przyjętych konwencji. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 03:11 |