Nigdy wcześniej nie używałam MySQL, ale tym razem nie mam wyboru. "Mam błąd, którego nie rozumiem. Próbuję stworzyć tabelę:
CREATE TABLE proprietaire(
num_cpt INT REFERENCES compte(num_cpt) PRIMARY KEY,
num_client INT REFERENCES client(num_client),
num_commercant INT REFERENCES commercant(num_commercant)
);
Nie widzę mojego błędu, czy możesz mi w tym pomóc?
Dziękuję Ci
Odpowiedzi:
1 dla odpowiedzi № 1W MySQL, aby wymusić odniesienia do kluczy obcych, nie można umieścić references
jako modyfikator w kolumnie. Potrzebujesz dla nich osobnego ograniczenia:
CREATE TABLE proprietaire (
num_cpt INT PRIMARY KEY,
num_client INT,
num_commercant INT,
CONSTRAINT fk_num_cpt FOREIGN KEY REFERENCES compte(num_cpt),
CONSTRAINT fk_num_client FOREIGN KEY REFERENCES client(num_client),
CONSTRAINT fk_num_commercant FOREIGN KEY REFERENCES commercant(num_commercant)
);
Jednak twoim specyficznym problemem był problem REFERENCES
przed PRIMARY KEY
przymus.
Uwaga: w większości anglojęzycznych baz danych używasz num
byłoby id
. num
brzmi jak liczba lub "liczba" czegoś, podczas gdy id
jest skrótem od identyfikatora.