2
Я пытался удалить каскад, и он просто не работает. Я уверен, что мне не хватает чего-то очевидного, может ли кто-нибудь помочь мне найти его?Проблемы с получением внешних ключей, работающих в MySQL
Я ожидал бы удаления в таблице «articles», чтобы вызвать удаление в соответствующих строках таблицы «article_section_lt».
CREATE TABLE articles (
id INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT,
url_stub VARCHAR(255) NOT NULL UNIQUE,
h1 VARCHAR(60) NOT NULL UNIQUE,
title VARCHAR(60) NOT NULL,
description VARCHAR(150) NOT NULL,
summary VARCHAR(150) NOT NULL DEFAULT "",
html_content TEXT,
date DATE NOT NULL,
updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)ENGINE=INNODB;
CREATE TABLE article_sections (
/* blog, news etc */
id INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT,
url_stub VARCHAR(255) NOT NULL UNIQUE,
h1 VARCHAR(60) NOT NULL,
title VARCHAR(60) NOT NULL,
description VARCHAR(150) NOT NULL,
summary VARCHAR(150) NOT NULL DEFAULT "",
html_content TEXT NOT NULL DEFAULT ""
)ENGINE=INNODB;
CREATE TABLE article_section_lt (
fk_article_id INTEGER UNSIGNED NOT NULL REFERENCES articles(id) ON DELETE CASCADE,
fk_article_section_id INTEGER UNSIGNED NOT NULL
)ENGINE=INNODB;
Просто проверить, после создания таблицы, как показано выше, вы затем создать ряд строк в 'article_sections' для данного' articles' строки, а затем попытаться удалить, что строка 'articles', а затем что? Он выдает ошибку внешнего ключа или не удаляет связанные строки? – Thomas