Jak utworzyć jeden do wielu w SQLITE3?
Jak utworzyć jeden do wielu w SQLITE3?
Mam 2 stoły:
Mans:
_id name
1 antony
2 fred
i
point
_id date point
1 23 77
24 99 2 25 78
5 0
Nie znam składni SQL, proszę o pomoc.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
2 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Oto przykład z prawdziwego świata. Załóżmy, że masz ludzi, którzy polecają Ci firmę: Twoi pracownicy, Twoi znajomi, lokalne firmy, w których się reklamujesz, itp. Klienci, którzy przychodzą, nazywani są firmami „polecającymi”. Każda osoba liczy się jako tylko jedno polecenie, ale osoba polecająca może łączyć się z wieloma poleceniami (na przykład pracownik może polecić 20 nowych klientów; pracownik jest Twoim poleceniem, a pracownik wystawił 20 poleceń). Masz więc 1 osobę polecającą i 20 skierowań (jeden do wielu):
Jest teraz całkowicie możliwe, że więcej niż jedna osoba łączy się ze skierowaniem, ale myślę, że standardową praktyką biznesową jest kompensowanie tylko jednego polecenia. W ten sposób nigdy nie musisz podawać dwóch referencji. Zawsze będzie to relacja 1 do 1 lub 1 do wielu; więc musisz uczynić to tabelą 1 do wielu. Nie jestem zbyt dobry w sprawach CASCADE, ale spróbuję dowiedzieć się, jak to pasuje.
Na pierwszy rzut oka wydaje się, że nie jest uwzględnione w mojej odpowiedzi, ponieważ usunięcie ostatniego skierowania nie powinno usuwać strony odsyłającej.
Rozważać
inny przykład
http://publib.boulder.ibm.com/ ... 2.htm
:
Jeśli usuniesz cukierki z tabeli , usuniesz je również z tabeli , ponieważ są to cukierki i jeśli rodzaj cukierków się zmienił (np. przykład do wycofanych cukierków), i tak musisz uruchomić nowe polecenie INSERT.
Uruchomiłem przypadek testowy dla ON UPDATE CASCADE i ON UPDATE DELETE w sqlite3 i wydaje się, że nie ma to żadnego efektu. Mogą nie działać z domyślnym silnikiem DB dla sqlite3, ale funkcjonalność IS jest wymieniona na oficjalnej stronie SQLite:
bardzo opisowy, łatwy do naśladowania przykład UPDATE CASCADE autorstwa sqlite.org
http://www.sqlite.org/foreignk ... ns... Czytaj dalej i zobacz, co myślisz.
Oto obwód, którego użyłem w moim przypadku testowym:
Wprowadzono różne aktualizacje w polu opisu id-2 dowolnej tabeli.
Anonimowy użytkownik
Potwierdzenie od:
działa tylko w wersji 3.6.1 +
Oto dokumenty
http://sqlite.org/foreignkeys.html
http://sqlite.org/foreignkeys.html