Я ніколи раніше не використовував MySQL, але не маю вибору цього разу. Я помилку, яку я не розумію. Я намагаюся створити таблицю:
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)
);
Я не можу бачити свою помилку. Не могли б ви допомогти мені з цим?
Дякую
Відповіді:
1 для відповіді № 1У MySQL, щоб примусити посилання на зовнішні ключі, ви не можете поставити references
в якості модифікатора на колонці. Для них потрібен окремий обмеження:
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)
);
Проте Вашою конкретною проблемою було REFERENCES
перед PRIMARY KEY
обмеження
Як примітка: у більшості англомовних баз даних, ваше використання num
був би id
. num
звучить як кількість або "кількість" чогось, тоді як id
є коротким для ідентифікатора.