AWD Postado Abril 22, 2009 Denunciar Share Postado Abril 22, 2009 Olá!Eu estou querendo "clonar" apenas os dados do campo chamado ultimo da tabela kairos par a tabela fotos.Mas não consigo.Tentei adaptar um código sql mas não deu muito certo hehe$sqlcopia = "UPDATE fotos, kairos SET fotos.ultimo = kairos.ultimo WHERE fotos.ultimo != $nada";$comandocopia = mysql_query($sqlcopia, $conexao) or die("Erro no comando copia!");Se alguém souber como posso copiar os dados que tem no campo ultimo da tabela kairos para o campo ultimo da tabela fotos me ajudaria muito.Muito Obrigado!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mario Junior Postado Abril 22, 2009 Denunciar Share Postado Abril 22, 2009 Então.Tem que usar subquery pra fazer isso:$sqlcopia = "UPDATE fotos, kairos SET fotos.ultimo =(select kairos.ultimo) WHERE fotos.ultimo != $nada";tenta isso.mas pensando bem, não sei se isso vai te dar o resultado desejado.Não seria melhor você selecionar os dados..e na hora de corre-los no WHILE, você atualiza? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 AWD Postado Abril 22, 2009 Autor Denunciar Share Postado Abril 22, 2009 Não funcionou também,já tentei por while, tipo:while ($linha = mysql_fetch_array($limite)) { $num=$num+1; $id = $linha["ID"]; $ultimo = $linha["ultimo"]; if ($num == 1) { echo ""; } else { $sqlcopia = "update fotos set ultimo='$num'"; $comandocopia = mysql_query($sqlcopia, $conexao) or die("Erro no comando copia!"); } }Mas ai eu atualizo o campo ultimo da tabela fotos com os dados que tiverem no ultimo campo do ultimo campo ultimo da tabela kairos.To nisso direto minha cabeça n consgue mais pensa numa lógica hehe Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Abril 22, 2009 Denunciar Share Postado Abril 22, 2009 Salve,Antes de mais nada, qual a relação da tabela kairos com a tabela fotos ?Há como enviar um SHOW CREATE TABLE kairos e fotos para darmos uma olhada ?Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 AWD Postado Abril 22, 2009 Autor Denunciar Share Postado Abril 22, 2009 É q preciso do campo ultimo da tabela kairos fique igual a da tabela fotos;SHOW CREATE TABLE kairos: CREATE TABLE `kairos` (\n `ultimo` int(11) NOT NULL auto_increment,\n PRIMARY KEY (`ultimo`)\n) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1SHOW CREATE TABLE fotos: CREATE TABLE `fotos` (\n `ID` int(11) NOT NULL auto_increment,\n `titulo` varchar(200) NOT NULL default '',\n `corpo` longtext NOT NULL,\n `categoria` varchar(200) NOT NULL,\n `imagen` varchar(100) NOT NULL,\n `ultimo` int(11) NOT NULL,\n PRIMARY KEY (`ID`)\n) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=latin1 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Abril 22, 2009 Denunciar Share Postado Abril 22, 2009 (editado) Brother,Veja a logica da coisa<?php function max_kairos() { $sql = "SELECT MAX(ultimo) AS maximo FROM kairos;"; $r = mysql_query($sql); $reg = mysql_fetch_assoc($r); $maximo = $reg['maximo']; if(!$maximo) $maximo = 1; return $maximo; } function atualizar_kairos() { $maximo = max_kairos(); $maximo++; $sql = "UPDATE kairos SET ultimo = $ultimo;"; mysql_query($sql); } $ultimo = max_kairos(); $sqlcopia = "UPDATE fotos SET fotos.ultimo = $ultimo WHERE fotos.ultimo != $nada"; $comandocopia = mysql_query($sqlcopia, $conexao) or die("Erro no comando copia!"); atualizar_kairos(); ?>Abraços Editado Abril 23, 2009 por ursolouco Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 AWD Postado Abril 22, 2009 Autor Denunciar Share Postado Abril 22, 2009 Olá!Muito Obrigado pelo código, mas ele me retorna $maximo=1, indicando que a variável máximo esta vazia, sinceramente não entendo porque, se puder me ajudar novamente ficaria muito grato :)Ah e mudei a linha$sqlcopia = "UPDATE fotos SET fotos.ultimo = $ultimo WHERE fotos.ultimo != $nada";para:$sqlcopia = "UPDATE fotos SET fotos.ultimo = $ultimo WHERE fotos.ultimo != '$nada'";porque sem as aspas simples dava erro de comando.Vlw! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mario Junior Postado Abril 23, 2009 Denunciar Share Postado Abril 23, 2009 $maximo é igual a 1 pois, segundo o código, quando não houver registro em "SELECT MAX(ultimo) AS maximo FROM kairos;", o valor dele será 1, caso contrário, será o valor retornado.Já rodou esta query direto no console pra ver o resultado? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 AWD Postado Abril 23, 2009 Autor Denunciar Share Postado Abril 23, 2009 (editado) Aee valeu pessoal! Consegui fazendo uma gambiarra, mas se alguém quiser pegar o código ta aí: $primeiro = "DELETE FROM kairos"; mysql_query($primeiro) or die(mysql_error()); $segundo = "ALTER TABLE banco.kairos AUTO_INCREMENT = 0"; mysql_query($segundo) or die(mysql_error()); $terceiro = "update fotos set ultimo='NULL' where ID != '$nada'"; mysql_query($terceiro) or die(mysql_error()); $busca = "insert into kairos (select * from fotos)"; $comando2 = mysql_query($busca, $conexao) or die("Erro no comando2"); $first = "DELETE FROM fotos"; mysql_query($first) or die(mysql_error()); $second = "ALTER TABLE banco.fotos AUTO_INCREMENT = 0"; mysql_query($second) or die(mysql_error()); $search = "insert into fotos (select * from kairos)"; $comando3 = mysql_query($search, $conexao) or die("Erro no comando3"); Editado Abril 23, 2009 por AWD Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
AWD
Olá!
Eu estou querendo "clonar" apenas os dados do campo chamado ultimo da tabela kairos par a tabela fotos.
Mas não consigo.
Tentei adaptar um código sql mas não deu muito certo hehe
$sqlcopia = "UPDATE fotos, kairos SET fotos.ultimo = kairos.ultimo WHERE fotos.ultimo != $nada";
$comandocopia = mysql_query($sqlcopia, $conexao) or die("Erro no comando copia!");
Se alguém souber como posso copiar os dados que tem no campo ultimo da tabela kairos para o campo ultimo da tabela fotos me ajudaria muito.
Muito Obrigado!!
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.