#mysql #syntax #relational-database
#mysql #синтаксис #реляционная база данных
Вопрос:
Просто небольшой вопрос относительно MySQL — я создал модель для своей базы данных с помощью MySQL Workbench, и в настоящее время я нахожусь в процессе написания кода (я уверен, что есть способ превратить модель в код, но я предпочитаю писать его сам, поскольку я в процессеобучения).
Мне просто интересно, как вы указываете, является ли отношение идентифицирующим или неидентифицирующим в синтаксисе MySQL?
Пример:
CREATE TABLE foo (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
data VARCHAR(45),
PRIMARY KEY(id)
)ENGINE=InnoDB;
CREATE TABLE foo2 (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
foo_id UNSIGNED NOT NULL,
CONSTRAINT fk_foo2_id FOREIGN KEY(foo_id) REFERENCES foo.id,
PRIMARY KEY(id)
)ENGINE=InnoDB;
Как бы мне сделать это идентифицирующим отношением?
Кроме того, каково влияние ON DELETE CASCADE
и ON UPDATE CASCADE
на такие отношения?
Спасибо!
Комментарии:
1. Вы не можете различить два типа отношений в MySQL.
2.
ON DELETE CASCADE
может быть настолько близко к идентифицирующей связи, насколько это возможно в SQL.3. Это то, что я подумал, спасибо!