stview 0 Denunciar post Postado Abril 20, 2007 Prezados,Eu tenho um site onde terei varias aplicações como fotos, textos e etc que serão enviados pelos usuários cadastrados.Quando um usuário for excluído, para não perder os arquivos que ele enviou, eu quero redirecionar estes registros para um outro usuário padrão do site, no caso com ID = 1.Pensei que que usando a FK com ON DELETE SET DEFAULT, ele mudaria o valor do ID para o default da tabela filho, visto q a tabela pai não tem valor default por ser a PK.Mas não esta aceitando, abaixo seguem os creates das tabelas, mas pesquisando eu entendi que o SET DEFAULT é entendido, mas ao mesmo tempo é ignorado ...Já recebi a dica de usar trigger, mas o mysql do banco é vs. 4 ....Primeiro queria saber se o SET DEFAULT funciona ou não, e qual seria uma boa alternativa pro meu problema. CREATE TABLE usuario ( IDUser MEDIUMINT(5) UNSIGNED NOT NULL AUTO_INCREMENT, Nome VARCHAR(35) NOT NULL, PRIMARY KEY(IDUser))TYPE=InnoDB;CREATE TABLE fotos ( IDFoto MEDIUMINT(5) UNSIGNED NOT NULL AUTO_INCREMENT, IDUser MEDIUMINT(5) UNSIGNED NOT NULL DEFAULT 1, Nome VARCHAR(45) NOT NULL, PRIMARY KEY(IDFoto), INDEX FK_user_fotos(IDUser), FOREIGN KEY(IDUser) REFERENCES usuario(IDUser) ON DELETE SET DEFAULT ON UPDATE CASCADE)TYPE=InnoDB; Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Abril 21, 2007 Existe, mas estranhamente a documentação diz: SET DEFAULT: This action is recognized by the parser, but InnoDB rejects table definitions containing ON DELETE SET DEFAULT or ON UPDATE SET DEFAULT clauses. http://dev.mysql.com/doc/refman/5.0/en/inn...onstraints.html Compartilhar este post Link para o post Compartilhar em outros sites
stview 0 Denunciar post Postado Abril 23, 2007 Poisé Felipe, ainda não achei uma solução.Dai queria só confirmar, com mysql 4 não tem outra solução a não ser fazer na unha mesmo ... Compartilhar este post Link para o post Compartilhar em outros sites