Sacomé 0 Denunciar post Postado Novembro 27, 2011 Fala galera, é o seguinte, estou com um software aqui que desenvolvi em php para locadora e estou precisando fazer uma manutenção. Seguinte, tenho que mudar um nome de um filme para outro nome, até ai beleza era só dá UPDATE ETC..., mas tenho que mudar o nome desse filme em mais de 150 tabelas. Eu não quero ter que escrever o nome de todas assim: UPDATE `tabela1`, `tabela2` etc.. SET ETC.... Teria uma maneira de dar um UPDATE em todas as tabelas sem ter que mensionar o nome de cada uma EX: UPDATE `[a-zA-Z0-9]` SET ETC... Compartilhar este post Link para o post Compartilhar em outros sites
Leonardo Leal 4 Denunciar post Postado Novembro 27, 2011 Essa eu pulo!!! Coisa de louco hein!? 150 tabelas? Sorte minha que inventaram e uso FOREIGN KEY!!! Tem alguma relação as tabelas? Não usam FK? Compartilhar este post Link para o post Compartilhar em outros sites
Sacomé 0 Denunciar post Postado Novembro 27, 2011 Tem alguma relação as tabelas? Não usam FK? FOREIGN KEY pra nome de tabela é BARRIL, já pra nome de campo era fácil o nome do campo é `movie_name`, é esse mesmo nome em todas as tabelas, o que tá pegando é que não quero fazer: UPDATE table1, table2, table3, table150, SET `movie_name` = replace(movie_name, 'antigo_nome','novo_nome') Compartilhar este post Link para o post Compartilhar em outros sites
Leonardo Leal 4 Denunciar post Postado Novembro 27, 2011 Eu desconheço algo do tipo... Porém uma saída é criar um script PHP que faça isto pra ti. Pode listar as tabelas usando o comando SQL SHOW TABLES ele vai te retornar um nome de tabalela por linha. E depois é só meter um foreach() que ta feito. Compartilhar este post Link para o post Compartilhar em outros sites
Sacomé 0 Denunciar post Postado Novembro 27, 2011 E depois é só meter um foreach() que ta feito. Creio que seja de fato o melhor a fazer. [RESOLVIDO] O melhor era com SHOW TABLES mesmo $tables = mysql_query("SHOW TABLES FROM `nome_do_banco` "); while ($t = mysql_fetch_array($tables)) { echo "{$t[0]}\n"; } Compartilhar este post Link para o post Compartilhar em outros sites