Volledige table nieuw ID geven
Ik heb laatst 2 tables bij elkaar gevoegd. Maar nu heb ik het probleem dat ik dubbele ID's heb in dezelfde table. En dat kan niet! Daarom had ik dit ingevoerd in PHPmyadmin:
Nu heb ik dus alle ID's op 0
Maar nu wil ik alle id rows een nieuw ID geven. En ze moeten allemaal uniek zijn. dus van 1 tot 3,530,762. Maar hoe doe ik dat? Ik heb heel Google al afgezocht maar ik kan het maar niet vinden.
Weet iemand hier misschien wat ik kan doen?
Groetjes, Bart
ik zou proberen bij structuur je oude id te verwijderen en dan een nieuwe aan te maken en die op auto_increment te zetten
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
$i = 1;
$query = mysql_query("SELECT UNIEKVELD FROM item");
while($row = mysql_fetch_array($query)) {
mysql_query("UPDATE items SET id = '".$i."' WHERE UNIEKVELD = '".$row['UNIEKVELDVALUE']."'");
$i++;
}
$query = mysql_query("SELECT UNIEKVELD FROM item");
while($row = mysql_fetch_array($query)) {
mysql_query("UPDATE items SET id = '".$i."' WHERE UNIEKVELD = '".$row['UNIEKVELDVALUE']."'");
$i++;
}
Gewijzigd op 11/05/2011 19:37:37 door Joakim Broden
die fout kreeg ik ook toen ik van een bestaande een auto_increment moest maken maar toen ik een nieuwe veld aanmaakte en die op a_i zette pakte die hem wel..
Er kan maar 1 auto_increment veld zijn per tabel. Dus er is al een auto_increment veld in je tabel
En nu werkt het!
Bedankt voor het meedenken allemaal!
Ik weet het niet zeker, maar volgens mij werkt de kolom 'id' verwijderen en vervolgens weer toevoegen met een auto_increment ook. Heb ooit eens hetzelfde gehad. Overigens zou je bovenstaand moeten voorkomen door ID unique te laten zijn.