Ik heb in mijn mysql database een tabel ledenlijst zitten. Hierin heb ik allemaal leden geimporteerd via een tekstbestand.
Ik heb echter geen tabel met "ID" , is het alsnog mogelijk deze toe te voegen en elke record uit mijn tabel een ID te laten toewijzen?
zijn er na je leden geimporteerd te hebben nog leden bijgekomen die niet in dat tekstbestand staan?
zo nee, dan zou je ze opnieuw kunnen importeren na een id kolom met auto_increment aangemaakt te hebben.
zo ja, dan zou je het inderdaad met een while loop kunnen doen.
Iets in de trent van
<?php
$query = "SELECT * FROM leden";
$result = mysql_query($query) or die (mysql_error());
while ($row = mysql_fetch_array($result))
{
$teller++
$query = "UPDATE leden SET id = ".$teller." WHERE naam = '".$row['naam']."'";
$result = mysql_query($query) or die (mysql_error());
}
?>
Ik heb dit niet getest, en als je dubbele namen in je ledenlijst hebt zitten heb je ook een klein probleem, want je hebt gewoon geen uniek iets in je tabel.
als je dubbele namen in je ledenlijst hebt zitten heb je ook een klein probleem, want je hebt gewoon geen uniek iets in je tabel.
Ik heb dubbele namen: ik heb een kolom: Voornaam en een kolom: Naam
Dit is dus geen optie?
Kan ik anders niet de huidige tabel exporteren, en dan terug importeren, maar dat ik dan een extra kolom ID heb toegevoegd? Zo ja, hoe pak ik dit het beste aan?
wat je dan ook nog kan doen is de update query vervangen door meerdere voorwaarden.
<?php
$query = "UPDATE
leden
SET
id = ".$teller."
WHERE
voornaam = '".$row['voornaam']."'
AND
naam = '".$row['naam']."'
AND
email = '".$row['email']."'";
?>
ok, het is me gelukt. Ik heb het als volgt gedaan:
Tabel ledenlijst naar csv geëxporteerd
Inhoud tabel gewist
Nieuwe kolom lijdenlijstID aangemaakt (auto increment)
CSV opnieuw geïmporteerd
=> elke rij heeft nu een ID :)
Als afsluiter: kan ik de laatste kolom ledenlijstID als 1e plaatsen in mysql?