Mam 2 tabele, jak zobaczysz w moim kodzie posgresql poniżej. Pierwsza tabela uczniów ma dwie kolumny, jedną dla ucznia_nazwa, a drugą student_id, który jest kluczem podstawowym. W mojej drugiej tabeli o nazwie testy, zawiera ona 4 kolumny, jedną dla subject_id, jedną dla subject_name, a następnie jedną dla ucznia z najwyższym wynikiem z przedmiotu, który jest najwyższymStudent_id. próbuję, aby parametr najwyższyStudent_id odnosił się do student_id w tabeli moich uczniów. Oto kod, który mam poniżej, nie jestem pewien, czy składnia jest poprawna:
CREATE TABLE students ( student_id SERIAL PRIMARY KEY,
player_name TEXT);
CREATE TABLE tests ( subject_id SERIAL,
subject_name,
highestStudent_id SERIAL REFERENCES students);
czy składnia jest highestStudent_id SERIAL REFERENCES students
poprawna? ponieważ widziałem inny podobnyhighestStudent_id REFERENCES students(student_id))
Jaki byłby poprawny sposób tworzenia klucza obcego w postgresql?
serial
, jak powinnainteger
.serial
nie jest „prawdziwym” typem danych, to krótka ręka do