leooizepi 1 Denunciar post Postado Maio 27, 2008 galera... to com um problema grande! conto com vcs!!! é o seguinte.. tenho um campo na minha tabela 'status', esse status recebe valor 's' ou 'n', só q eu nao posso ter mais q 1 registro com valor 's'....... ai tenho um arquivo q altera esse valor.... como faço para setar o novo registro em 's' e os outros como 'n'??????????????? minha tabela CREATE TABLE `empresa` ( `id_empresa` int(3) NOT NULL auto_increment, `texto` text NOT NULL, `status` char(1) NOT NULL, PRIMARY KEY (`id_empresa`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; valeu!! Compartilhar este post Link para o post Compartilhar em outros sites
NaPraia 12 Denunciar post Postado Maio 27, 2008 se você quer setar o mais novo para status = 's' faz assim update empresa set status = 'S' where id_empresa = (select max(id_empresa) from empresa)mas seria melhor você já trocar para no inserte para trocar todos os outro para 'N' faz assim update empresa set status = 'N' where id_empresa not in (select max(id_empresa) from empresa) Compartilhar este post Link para o post Compartilhar em outros sites
leooizepi 1 Denunciar post Postado Maio 27, 2008 nao quero trocar para o mais novo. o usuario tem opção de escolher... entao pode ser o registro 1, 4, 6, 2... e ae. como faço? Compartilhar este post Link para o post Compartilhar em outros sites
NaPraia 12 Denunciar post Postado Maio 27, 2008 aí não precisa de select se é o usuário que vai escolher é só usar o in no update update empresa set status = 'S' where id_empresa in (%valores%) só precisa nessa variável os valores estarem separados por vírgulas. Compartilhar este post Link para o post Compartilhar em outros sites
leooizepi 1 Denunciar post Postado Maio 27, 2008 ja esta um registro com 's' se eu fizer isso.. vai ficar 2 registros... eu tenho q tirar o 's' do antigo e colocar o q usario escolheu!! Compartilhar este post Link para o post Compartilhar em outros sites
NaPraia 12 Denunciar post Postado Maio 27, 2008 update empresa set status = 'N' update empresa set status = 'S' where id_empresa in (%valores%) Compartilhar este post Link para o post Compartilhar em outros sites
leooizepi 1 Denunciar post Postado Maio 27, 2008 valeu.. deu certo!!! mais fica o desafio.. fazer esse problema com apenas uma sql!! valeu!! abraço!! Compartilhar este post Link para o post Compartilhar em outros sites
NaPraia 12 Denunciar post Postado Maio 27, 2008 mais fica o desafio.. fazer esse problema com apenas uma sql!!?????? é só usar um case no update Compartilhar este post Link para o post Compartilhar em outros sites
leooizepi 1 Denunciar post Postado Maio 27, 2008 hum.. como q ficaria com case? nunca usei!! valeu! Compartilhar este post Link para o post Compartilhar em outros sites