Avatar billede zac Nybegynder
28. august 2004 - 00:39 Der er 2 kommentarer og
1 løsning

Select ok, men ved brug i insert forsvinder gengangere

Der er 3 tabeller: tilmeldingerNYE, tilmeldinger (m. registrering af medlems id), og arr(angementer).

$query = mysql_query("DELETE FROM tilmeldingerNYE");

$result = mysql_query( "SELECT t.id_tilmeldinger, t.id_medlem, t.id_arr, a.id_arr, a.arr_nr
FROM tilmeldinger AS t, arr AS a
WHERE i.id_arr = a.id_arr
");

Den giver fx 4 rækker med:
arr 12 - medlem 34
arr 4  - medlem 11
arr 8  - medlem 19
arr 8  - medlem 11  // så langt så godt

Så går det galt. Den følgende insert giver kun 3 rækker, udelader nemlig den sidste, hvor både et arr. og et medlem gentages:

  while ($row = mysql_fetch_array($result))
  {                         
        $query = mysql_query("INSERT INTO tilmeldingerNYE (arrang_nr,id_medlem)" .
        "VALUES ($row[4],$row[1])");
    }   
   
Hvad er der galt? Hvordan undgås at gentagelserne udelukkes i insert?
Avatar billede eagleeye Praktikant
28. august 2004 - 01:08 #1
Hvis kolonnen id_medlem i mysql er sat til primary key eller unique så kan den kun tilføje et nr en gang.
Avatar billede zac Nybegynder
28. august 2004 - 01:55 #2
Du har ret - det var det, som var galt, sat til primær nøgle nu. Hvilket viser, at jeg aldrig helt har forstået det med primary og unique key - jeg vil prøve at læse lidt på det.
Tak for hjælpen - point?!
Avatar billede eagleeye Praktikant
28. august 2004 - 01:56 #3
Ok :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester