/ / ERROR 1064 (42000) REFERENCJE PODSTAWOWE MYSQL - mysql, reference, key

BŁĄD 1064 (42000) REFERENCJE PODSTAWOWE MYSQL - mysql, reference, key

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 № 1

W 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.