PRIMARY KEY E FOREIGN KEY - UPDATE
Olá, estou com o seguinte problema:
Imagine duas tabelas que se relacionam, exemplo, tabela filme e tabela tipo_filme.
Na tabela tipo filme eu tenho uma primary key chamada id_tipo já que este campo se relaciona com minha tabela filme ele se torna uma foreign key na minha tabela filme.
Agora imagine que na tabela tipo_filme eu tenho o seguinte valor: id_tipo = 1, consequentemente na minha tabela filme eu terei varios valores 1.
O problema é que eu preciso mudar esse valor de 1 para 2 e preciso que ele também altere isso na minha tabela filme.
Imagine duas tabelas que se relacionam, exemplo, tabela filme e tabela tipo_filme.
Na tabela tipo filme eu tenho uma primary key chamada id_tipo já que este campo se relaciona com minha tabela filme ele se torna uma foreign key na minha tabela filme.
Agora imagine que na tabela tipo_filme eu tenho o seguinte valor: id_tipo = 1, consequentemente na minha tabela filme eu terei varios valores 1.
O problema é que eu preciso mudar esse valor de 1 para 2 e preciso que ele também altere isso na minha tabela filme.
Zack Ramos
Curtidas 0
Melhor post
Luis Mesa
15/03/2017
Opa, Zack, tudo tranquilo por aí?
Então, para isso existe o ON UPDATE CASCADE. Se a sua Chave Primária da tabela "tipo_filme" for auto-incremento, não teria sentido alterar a chave, mas se fosse algo como um "código de barras", então você poderia, ao definir a Chave estrangeira na tabela "filme", especificar ON UPDATE CASCADE. Assim, quando a chave primária da tabela "tipo_filme" mudar, todas as tabelas que contenham id_tipo como chave estrangeira e especificado o ON UPDATE CASCADE terão sua chave estrangeira atualizada!
Da mesma forma você pode especificar ON DELETE CASCADE, para quando o registro associado a uma chave estrangeira específica for apagado, os registros da tabela também sejam removidos.
Um abraço.
Então, para isso existe o ON UPDATE CASCADE. Se a sua Chave Primária da tabela "tipo_filme" for auto-incremento, não teria sentido alterar a chave, mas se fosse algo como um "código de barras", então você poderia, ao definir a Chave estrangeira na tabela "filme", especificar ON UPDATE CASCADE. Assim, quando a chave primária da tabela "tipo_filme" mudar, todas as tabelas que contenham id_tipo como chave estrangeira e especificado o ON UPDATE CASCADE terão sua chave estrangeira atualizada!
Da mesma forma você pode especificar ON DELETE CASCADE, para quando o registro associado a uma chave estrangeira específica for apagado, os registros da tabela também sejam removidos.
Um abraço.
GOSTEI 1
Mais Respostas
Zack Ramos
14/03/2017
Fala Luis,
Você acabou de salvar meu dia!
Muito obrigado...
Abraço
Você acabou de salvar meu dia!
Muito obrigado...
Abraço
GOSTEI 0
Luis Mesa
14/03/2017
De nada, disponha!
Abraço
Abraço
GOSTEI 0