В MySQL документации написано следующее:
MySQL supports foreign keys, which let you cross-reference related data across tables, and foreign key constraints, which help keep this spread-out data consistent.
Вопрос: В чем разница между foreign key constraints и foreign keys в этом предложении?
(из "let you cross-reference related data across tables" и "which help keep this spread-out data consistent" разница мне не понятна)
CREATE TABLE MyTable
(
id INT NOT NULL PRIMARY KEY,
value VARCHAR(50),
idKek INT,
CONSTRAINT fk_idKek FOREIGN KEY(idKek) references MtSecondTable(idKek)
)
CREATE TABLE MyTable
(
id INT NOT NULL PRIMARY KEY,
value VARCHAR(50),
idKek INT,
FOREIGN KEY(idKek) references MtSecondTable(idKek)
)
В первом случае вы сами задаёте название для CONSTRAINT, во втором оно сгенерируется автоматически. Вот и вся разница.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей