Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

�talo Gustavo Araújo

Copiar dados de uma tabela.

Recommended Posts

Galera estou com a Seguinte dúvida no meu sistema eu tenho a seguinte estrutura de uma tabela.

 

 

DROP TABLE IF EXISTS `CLIMA`;
CREATE TABLE IF NOT EXISTS `CLIMA` (
  `IdClima` int(11) NOT NULL AUTO_INCREMENT,
  `IdFazenda` int(11) NOT NULL,
  `DataClima` date NOT NULL,
  `TemperaturaMaxima` float NOT NULL,
  `TemperaturaMinima` float NOT NULL,
  `TemperaturaMedia` float NOT NULL,
  `UmidadeRelativa` float NOT NULL,
  `VelocidadeVento` float NOT NULL,
  `Precipitacao` float NOT NULL,
  `RadiacaoMedia` float NOT NULL,
  PRIMARY KEY (`IdClima`),
  KEY `FK_CLIMA_FAZENDA` (`IdFazenda`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4404 ;

 

Preciso copiar os dados dessa tabela porem para um IdFazenda diferente:
O meu sistema é em PHP, a logica é :
Os dados dessa tabela são retirados de uma estação climatológica, e inseridas no banco, algumas fazendas não possui essa estação e é preciso utilizar os dados de uma fazenda vizinha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Ãtalo (Ítalo?)

 

Faça um insert lendo a própria tabela, no local do IdFazenda, ao invés de pegar o da fazenda 'modelo', coloque o da fazenda destino.

 

Ex:

Insert Into CLIMA(....)
Select IdClima
,10 -- Exemplo
...
From CLIMA
Where IdFazenda = ??

 

Espero ter sido útil.

 

Abraços.

 

_ _

Fabiano Abreu

Papo SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Fabiano Abreu,

 

Sua dica foi sim muito útil, porém sou iniciante no mundo da programação, vou te passar alguns detalhes que talvez com sua experiência vai pode me ajudar muito.

 

Está dúvida surgiu da seguinte maneira, esse sistema onde quero aplicar essa lógica e responsável por controlar irrigação em um fazenda, desenvolvido em php com mysql onde fui contratado para dar continuidade no que já tem desenvolvido.

 

No sistema tenho uma tabela chamada Clima com a seguinte estrutura:

DROP TABLE IF EXISTS `CLIMA`;CREATE TABLE IF NOT EXISTS `CLIMA` (  `IdClima` int(11) NOT NULL AUTO_INCREMENT,  `IdFazenda` int(11) NOT NULL,  `DataClima` date NOT NULL,  `TemperaturaMaxima` float NOT NULL,  `TemperaturaMinima` float NOT NULL,  `TemperaturaMedia` float NOT NULL,  `UmidadeRelativa` float NOT NULL,  `VelocidadeVento` float NOT NULL,  `Precipitacao` float NOT NULL,  `RadiacaoMedia` float NOT NULL,  PRIMARY KEY (`IdClima`),  KEY `FK_CLIMA_FAZENDA` (`IdFazenda`)) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4404 ;

E outra tabela chamada Fazenda, onde criei a coluna EstClima onde salvo o Id da Fazenda quando uma fazenda não tem uma estação meteorológica e precisa usar os dados de Clima de outra fazenda, a logica parece ser bem simples afinal só preciso apresentar para o Cliente que não possui os dados de Clima o clima de outra fazenda, porem preciso armazenar esses dados com o Id da Fazenda que não tem a estação, para o sistema utilizar esses dados para fazer os devidos cálculos.

 

Estou encontrando dificuldades para aplicar essa logica.

 

Se tiver alguma sugestão vai ser de grande valia, pois já estou apanhando alguns dias...

 

	public function saveClimaFazenda($fazenda){		try{				$stmte = $this->pdo->prepare("INSERT INTO CLIMA (IdFazenda, DataClima, TemperaturaMaxima, TemperaturaMinima, TemperaturaMedia, UmidadeRelativa, VelocidadeVento, Precipitacao, RadiacaoMedia)						SELECT :NewIdFazenda, DataClima, TemperaturaMaxima, TemperaturaMinima, TemperaturaMedia, UmidadeRelativa, VelocidadeVento, Precipitacao, RadiacaoMedia						FROM CLIMA						WHERE IdFazenda  = :IdFazenda;");								$teste = 999;				$stmte->bindParam(":NewIdFazenda", $teste, PDO::PARAM_INT);				$stmte->bindParam(":IdFazenda", $fazenda->getCliente()->getEstClima(), PDO::PARAM_INT);				$executa = $stmte->execute();				return $executa;			}					catch(PDOException $ex){			echo $ex->getMessage();			return FALSE;		}	}

 

 

observe o comando que estou tentando fazer em php mas não esta dando certo mais quando executo a instrução abaixo no banco ele insere.

 

 

INSERT INTO CLIMA (IdFazenda, DataClima, TemperaturaMaxima, TemperaturaMinima, TemperaturaMedia, UmidadeRelativa, VelocidadeVento, Precipitacao, RadiacaoMedia)SELECT '999', DataClima, TemperaturaMaxima, TemperaturaMinima, TemperaturaMedia, UmidadeRelativa, VelocidadeVento, Precipitacao, RadiacaoMediaFROM CLIMAWHERE IdFazenda  = 15;

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.