MySQL - Inserir registros numa tabela filha[RESOLVIDO]

2 respostas
PhoenixWings

Boa noite pessoal. Eu criei uma tabela filha chamada cep e gostaria de inserir os registros - de uma vez só - de outra tabela nos respectivos campos da tabela cep.

A tabela cep:

CREATE TABLE cep
(
   id_cep INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
   cidade VARCHAR(25),
   estado VARCHAR(2)
);

aí eu fiz:

INSERT INTO cep(cidade)
SELECT cidade FROM contatos
ORDER BY cidade;

INSERT INTO cep(estado)
SELECT estado FROM contatos
ORDER BY estado;

só que então ficou assim:

mysql> SELECT * FROM cep;
+--------+----------------+--------+
| id_cep | cidade         | estado |
+--------+----------------+--------+
|      1 | Nova Iguaçu    | NULL   |
|      2 | Rio de Janeiro | NULL   |
|      3 | São Paulo      | NULL   |
|      4 | NULL           | RJ     |
|      5 | NULL           | RJ     |
|      6 | NULL           | SP     |
+--------+----------------+--------+
6 rows in set (0.00 sec)

E não é isso que eu desejava. Eu gostaria de inserir um grupo de comandos só e que fizesse com que os estados ficassem associados às suas respectivas cidades. Obrigado pela ajuda.

2 Respostas

leorbarbosa

Phoenix,

tenta aí

INSERT INTO CEP (CIDADE,ESTADO)
SELECT CIDADE,ESTADO FROM CONTATOS
ORDER BY 1,2
PhoenixWings

Funcionou perfeitamente. Obrigado cara!

Criado 10 de agosto de 2010
Ultima resposta 10 de ago. de 2010
Respostas 2
Participantes 2