Я пошел за учебником, но у меня проблема с пониманием пара строк кода ниже.Недостаток ограничений внешнего ключа MySQL (какова его работа?)
Предположим, что я создал эти две таблицы:
CREATE TABLE employee (
id smallint(5) unsigned NOT NULL,
firstname varchar(30),
lastname varchar(30),
birthdate date,
PRIMARY KEY (id),
KEY idx_lastname (lastname)
) ENGINE=InnoDB;
CREATE TABLE borrowed (
ref int(10) unsigned NOT NULL auto_increment,
employeeid smallint(5) unsigned NOT NULL,
book varchar(50),
PRIMARY KEY (ref)
) ENGINE=InnoDB;
Тогда я некоторые изменения в заимствованных таблице
ALTER TABLE borrowed
ADD CONSTRAINT FK_borrowed // line 1
FOREIGN KEY (employeeid) REFERENCES employee(id) // line 2
ON UPDATE CASCADE
ON DELETE CASCADE;
Line 1 добавить ограничение? какое ограничение?
Строка 2 делает «employeeid» заимствованной таблицы внешним ключом, который ссылается на «идентификатор» таблицы сотрудников, это все, что делает эта строка кода, правильно?
Так что мой вопрос в том, что означает строка 1? Он добавляет ограничение, которое не содержит ничего? Я новичок в MySQL.
'FOREIGN KEY' сам является' CONSTRAINT' –
внешний ключ определяется как «employeeid» в строке 2, так? @ PM77-1 – KKKK
Все ваше заявление добавляет FOREIGN KEY. –