Guest zoinvoo Postado Junho 19, 2008 Denunciar Share Postado Junho 19, 2008 Olá pessoal,Considerem a seguinte tabela mySQL;CREATE TABLE `resultado` ( `extracao` varchar(5) NOT NULL, `data` date NOT NULL, `dz1` varchar(2) NOT NULL, `dz2` varchar(2) NOT NULL, `dz3` varchar(2) NOT NULL, `dz4` varchar(2) NOT NULL, `dz5` varchar(2) NOT NULL, `dz6` varchar(2) NOT NULL, `ant1dz1` varchar(2) DEFAULT NULL, `ant1dz2` varchar(2) DEFAULT NULL, `ant1dz3` varchar(2) DEFAULT NULL, `ant1dz4` varchar(2) DEFAULT NULL, `ant1dz5` varchar(2) DEFAULT NULL, `ant1dz6` varchar(2) DEFAULT NULL, PRIMARY KEY (`extracao`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;ESSE E O SELECT DA TABELA:extracao` `data` `dz1` `dz2` `dz3` `dz4` `dz5` `dz6` `ant1dz1` `ant1dz2` `ant1dz3` `ant1dz4` `ant1dz5` `ant1dz6` 00001 2/6/2008 00:00:00 12 31 41 51 16 27 {null} {null} {null} {null} {null} {null}QUERO PEGAR O CONTEUDO DA COLUNA dz1 (12) SOMA + 1 E INSERIR O RESULTADO NA COLUNA ant1dz1. Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Junho 19, 2008 Denunciar Share Postado Junho 19, 2008 Oi, 'zoinvoo'!Para obter o que você quer de maneira correta, você deveria modificar sua tabela para :CREATE TABLE `resultado` ( `extracao` varchar(5) NOT NULL, `data` date NOT NULL, `dz1` integer NOT NULL, `dz2` integer NOT NULL, `dz3` integer NOT NULL, `dz4` integer NOT NULL, `dz5` integer NOT NULL, `dz6` integer NOT NULL, `ant1dz1` integer NOT NULL, `ant1dz2` integer NOT NULL, `ant1dz3` integer NOT NULL, `ant1dz4` integer NOT NULL, `ant1dz5` integer NOT NULL, `ant1dz6` integer NOT NULL, PRIMARY KEY (`extracao`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; Depois, você deverá aplicar a query UPDATE resultado SET ant1dz1 = dz1 + 1;Na maneira Errada, ou seja, a sua maneira, a SQL seria a mesma da exibida acima, mas focê forçará o "motor" do MySQL a realizar as transformações de tipo e, quando existir uma informação errada, por exemplo, espaço ou letra, a sql corre o risco de abortar, deixando-o na mão. Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --zoinvoo -- Postado Junho 22, 2008 Denunciar Share Postado Junho 22, 2008 Óla pessoal consegui fazer o que eu queriaolha so como ficou.Criei um id com auto_increment, para pega o ultimo id de insert.UPDATE resultado SET ant1dz1=dz1 - 1WHERE idextracao= (select last_insert_id());usei a dica do update foi muito boa.desse jeito posso pegar o valor de uma coluna da tabela, manipulá-lo e fazer o update usando o ultimo id de inserçao.esse tratamento e melhor qaundo usado em triggers pois logo depois da inserçao a triggers já disparra e faz o que eu quero com os numeros das tabelas.lógico isso para meu tipo de negócio cada um e diferente do outro,mas se pude ajuda alguém com essa solução esta ótimo.boa noite!!!! Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --zoinvoo -- Postado Junho 22, 2008 Denunciar Share Postado Junho 22, 2008 Obrigado Denis Courcysegui sua dica mudei a tabela e usei o update,foi muito boa.muito obrigado!!!!e boa noite. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest zoinvoo
Olá pessoal,
Considerem a seguinte tabela mySQL;
CREATE TABLE `resultado` (
`extracao` varchar(5) NOT NULL,
`data` date NOT NULL,
`dz1` varchar(2) NOT NULL,
`dz2` varchar(2) NOT NULL,
`dz3` varchar(2) NOT NULL,
`dz4` varchar(2) NOT NULL,
`dz5` varchar(2) NOT NULL,
`dz6` varchar(2) NOT NULL,
`ant1dz1` varchar(2) DEFAULT NULL,
`ant1dz2` varchar(2) DEFAULT NULL,
`ant1dz3` varchar(2) DEFAULT NULL,
`ant1dz4` varchar(2) DEFAULT NULL,
`ant1dz5` varchar(2) DEFAULT NULL,
`ant1dz6` varchar(2) DEFAULT NULL,
PRIMARY KEY (`extracao`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ESSE E O SELECT DA TABELA:
extracao` `data` `dz1` `dz2` `dz3` `dz4` `dz5` `dz6` `ant1dz1` `ant1dz2` `ant1dz3` `ant1dz4` `ant1dz5` `ant1dz6`
00001 2/6/2008 00:00:00 12 31 41 51 16 27 {null} {null} {null} {null} {null} {null}
QUERO PEGAR O CONTEUDO DA COLUNA dz1 (12) SOMA + 1 E INSERIR O RESULTADO NA COLUNA ant1dz1.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados