Duvida de sql / php

The Dealer

Power Member
Tenho uma tabela Alunos com campos numero, apelido, nome, email, curso.

E os registos vão "lá para dentro" através de um upload e posteriormente de um LOAD DATA INFILE.

O problema é que os ficheiros têm de seguir sempre a seguite estrutura:

INTEIRO,STRING,STRING

Eu usava este código que está em upload.php (que funciona quando a tabela tem apenas os 3 primeiros campos):

PHP:
$sql = mysql_query("LOAD DATA INFILE '$target' INTO TABLE alunos FIELDS TERMINATED BY ','  LINES TERMINATED BY '\n'") or die ("ERRO NO INFILE -- ".mysql_error());
O que eu fazia era, logo a seguir e este infile fazia logo o alter à tabela, e acrescentava os restantes campos.

Mas agora que decidi criar uma tabela "geral" alunos para todas as cadeiras, só se pode fazer o upload uma vez, pois à segunda (outro professor a fazer a mesma operação por exemplo), vai-me dar erro por causa dos campos.

Como posso contornar esta situação? Se não houver outra solução, pensei em criar tabelas Email,Telefone, e Curso (ou até as 3 numa só). O que acham? Não haverá forma de manter toda a informação sobre o aluno na mesma tabela?

EDIT: já agora não sabem como fazer um DISTINCT no query que apresentei, de forma a não criar campos repetidos?
 
Última edição:
Tenho uma tabela Alunos com campos numero, apelido, nome, email, curso.

E os registos vão "lá para dentro" através de um upload e posteriormente de um LOAD DATA INFILE.

O problema é que os ficheiros têm de seguir sempre a seguite estrutura:

INTEIRO,STRING,STRING

Eu usava este código que está em upload.php (que funciona quando a tabela tem apenas os 3 primeiros campos):

PHP:
$sql = mysql_query("LOAD DATA INFILE '$target' INTO TABLE alunos FIELDS TERMINATED BY ','  LINES TERMINATED BY '\n'") or die ("ERRO NO INFILE -- ".mysql_error());
O que eu fazia era, logo a seguir e este infile fazia logo o alter à tabela, e acrescentava os restantes campos.

Mas agora que decidi criar uma tabela "geral" alunos para todas as cadeiras, só se pode fazer o upload uma vez, pois à segunda (outro professor a fazer a mesma operação por exemplo), vai-me dar erro por causa dos campos.

Como posso contornar esta situação? Se não houver outra solução, pensei em criar tabelas Email,Telefone, e Curso (ou até as 3 numa só). O que acham? Não haverá forma de manter toda a informação sobre o aluno na mesma tabela?

EDIT: já agora não sabem como fazer um DISTINCT no query que apresentei, de forma a não criar campos repetidos?

Eh pá!!! Vai ser um semestre longo!!!!

Os dados têm que ser carregados por ficheiro?
 
Back
Topo