проблема внешнего ключа - mysql - PullRequest
1 голос
/ 22 апреля 2011

у меня есть этот код mysql, но когда я удаляю элемент agrupamento, дочерний элемент не удаляется в emprego, и это предполагается.

Например, у меня есть в agrupamento - id - 1 || area - science

а у меня в profissao (работа) - ref - 1 || empregoid - 1 || emprego - scientist

 CREATE TABLE agrupamento (  
        id smallint(5) unsigned NOT NULL auto_increment,  
        area varchar(30),  
        PRIMARY KEY (id) 
    )

CREATE TABLE emprego (  
    ref int(10) unsigned NOT NULL auto_increment,  
    empregoid smallint(5) unsigned NOT NULL,  
    emprego varchar(50),  
    PRIMARY KEY (ref)  
)

    ALTER TABLE emprego  
    ADD CONSTRAINT FK_emprego
    FOREIGN KEY (empregoid) REFERENCES agrupamento(id)  
    ON UPDATE CASCADE  
    ON DELETE CASCADE;  

в чем проблема?

(если области науки не существует, ученый тоже нет.)

спасибо!

1 Ответ

2 голосов
/ 22 апреля 2011

Какой тип таблицы вы используете в своей базе данных, удостоверьтесь, что таблица innoDB для использования FK.В таблицах myIsam это не будет работать должным образом.

...