23. marts 2007 - 20:46Der er
12 kommentarer og 1 løsning
Kringlet indexserings spørgsmål.
Hej Eksperter.
Alle med bare 5 mins erfaring med MySQL ved at primær på auto_increment går slavisk fra 1 til ... ja. :D
Mit spørgsmål er så:
Er der nogen måde hvorpå man kan få den til at udfylde huller, hvis man f.eks. sletter et row med id 5, og der er 23 i tabellen, så den næste auto increment value ville være 5 og ikke 24 som den normalt gør ?
har lavet en film database til en ven, og hans kone har det med at slette film istedet for at redigere dem, så jeg har været nødsaget til nu, helt at fjerne slette funktionen.
og han bruger ID som numrerne på filmene.
så det er skam hensigtmæssigt i dette tilfælde. ;)
$con = mysql_connect("xxxx", "xxxx", "xxxx") or die(mysql_error()); mysql_select_db("xxxx", $con) or die(mysql_error()); $rs = mysql_query("SELECT eid FROM movies ORDER BY id ASC", $con) or die(mysql_error()); $realid = 1; while ($row = mysql_fetch_array($rs)) { $id = $row['id']; if($id > $realid) { mysql_query("UPDATE movies SET id = $realid WHERE id = $id") or die(mysql_error()); } $realid++; } mysql_free_result($rs); mysql_query("ALTER TABLE movies AUTO_INCREMENT = $realid") or die(mysql_error()); mysql_close($con);
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.