Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 166

Copiar coluna em massa

30-01-2015 01:04

Boa noite !

Tenho uma dúvida, como faço copiar uma coluna de outra tabela no mysql

Estou usando o seguinte

UPDATE dados_adver SET cp_imagem = tb_agenda.cp_escudo WHERE `tb_agenda`.`adver` = `dados_adver`.`cp_adver`;

Porém aparece a que a coluna `tb_agenda`.`adver` não existe

Error Code: 1054 UNKNOWN COLUMN 'tb_agenda.adver' IN 'where clause'


CREATE TABLE IF NOT EXISTS `tb_agenda` (   `cod` INT(4) NOT NULL AUTO_INCREMENT,   `ID_jogo` INT(8) NOT NULL,   `cp_mando` enum('C','F') CHARACTER SET utf8 NOT NULL DEFAULT 'C',   `cp_mando_tipo` enum('M','V') CHARACTER SET utf8 NOT NULL DEFAULT 'M',   `data` DATE NOT NULL DEFAULT '0000-00-00',   `horario` VARCHAR(5) CHARACTER SET utf8 NOT NULL,   `adver` VARCHAR(150) CHARACTER SET utf8 NOT NULL,   `local` VARCHAR(150) CHARACTER SET utf8 NOT NULL,   `cp_end` VARCHAR(250) CHARACTER SET utf8 NOT NULL,   `cp_competicao` VARCHAR(150) CHARACTER SET utf8 NOT NULL,   `descr` text CHARACTER SET utf8 NOT NULL,   `cp_escudo` VARCHAR(300) COLLATE utf8_bin NOT NULL,   `cp_mapa` text CHARACTER SET utf8 NOT NULL,   PRIMARY KEY (`cod`) ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_bin DELAY_KEY_WRITE=1 COMMENT='Agenda de 2009' AUTO_INCREMENT=414 ;


CREATE TABLE IF NOT EXISTS `dados_adver` (   `ID` INT(11) NOT NULL AUTO_INCREMENT,   `ID_jogo` INT(8) NOT NULL,   `cp_local` VARCHAR(200) NOT NULL,   `cp_quadro` enum('1','2','3') NOT NULL,   `cp_adver` VARCHAR(150) NOT NULL,   `cp_placar_pfs` INT(2) NOT NULL,   `cp_placar_adv` INT(2) NOT NULL,   `cp_wo` enum('S','N') NOT NULL DEFAULT 'N',   `disp_penalty` enum('S','N') NOT NULL DEFAULT 'N',   `penalti_lc` INT(2) NOT NULL,   `penalti_vs` INT(2) NOT NULL,   `bat_primus` VARCHAR(300) NOT NULL,   `bat_adver` VARCHAR(300) NOT NULL,   `cp_jogadores` text NOT NULL,   `cp_gols_vs` text NOT NULL,   `cp_faltas_vs` text NOT NULL,   `ct_am_vs` text NOT NULL,   `ct_az_vs` text NOT NULL,   `ct_verm_vs` text NOT NULL,   `cp_data` DATE NOT NULL,   `cp_liga` VARCHAR(100) NOT NULL,   PRIMARY KEY (`ID`),   KEY `ID_jogo` (`ID_jogo`) ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=558 ;

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17737
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Copiar coluna em massa

30-01-2015 08:48

Basicamente no seu código faltou chamar as duas tabelas que serão atualizadas.

Se você quer copiar os valores de determinada coluna de uma tabela, para uma outra coluna de outra tabela baseado em um valor comum entre ambas tabelas, veja se esse código abaixo ajuda.

Veja esse exemplo:

tabela1

ID - CAMPO - VALOR 1 - meucampo - valor1

tabela2

ID - CAMPO - VALOR 1 - meuoutrocampo - valor2

Supondo que você quer passar o valor2 para a tabela1 baseado na coluna ID, você deve fazer o seguinte:

UPDATE tabela1, tabela2 SET tabela1.valor=tabela2.valor WHERE tabela1.ID=tabela2.ID

0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Bing [Bot], Google [Bot]