magier123
9.12.2007, 20:45:55
Witam!
Hmmm taki mam problem... chcialbym wyzerowac pole autoincrement (zeby zaczelo sie znow numerowac od poczatku) jesli jego wartosc bedzie rowna badz wieksza np od 15. Ktos ma moze jakis pomysl bo juz szukalem rozwiazan do tego i nic na ten temat nie znalazlem.
webdice
9.12.2007, 20:57:34
Do ustawiania wartości pola auto_increment służy zapytanie:
ALTER TABLE `table` AUTO_INCREMENT = X
gdzie X to wartość na jaką chcemy ustawić to pole. Resztę myślę ze dopiszesz sobie sam.
b_chmura
9.12.2007, 20:57:49
chyba słabo szukałeś...
AUTO_INCREMENT = 0;
magier123
9.12.2007, 21:11:21
hmmm....
<?php
$query22 = "SELECT * FROM kategorie ORDER BY kolejnosc ";
if ($row22[id]>15){
$zapytanie22 = "ALTER TABLE kategorie AUTO_INCREMENT = 0 ";
}
?>
wedlug mnie ten kawalek kodu sprawdza czy w tabeli jest wartosc soutoincrement wieksza od 15 a jesli tak to zeby wyzerowalo.... czy tak? .... a jednak nie dziala
webdice
9.12.2007, 21:20:36
Wartość pola AUTO_INCREMENT nie może być mniejsza niż największa wartość pola incrementowanego. Powiedz lepiej co chcesz osiągnąć.
b_chmura
9.12.2007, 21:21:50
<?php
$q = mysql_query("SELECT * FROM kategorie ORDER BY `id` DESC LIMIT 0 , 1");
{
if($dana['id'] >=)
{
mysql_query("ALTER TABLE kategorie AUTO_INCREMENT = 0"); }
else
{
}
}
?>
magier123
9.12.2007, 21:26:06
Chcialbym osiagnac to aby pole aoutoincrement mialo np maksymalna wartosc 15 i gdy np usune jakis rekord ... dajmy na to 11 to jesli znow dodam rekord to zeby mial wlasnie ten numer 11..
webdice
9.12.2007, 21:31:33
Jeśli masz przykładowo 15 rekordów w bazie i usuniesz 11, a na dodatek zostaną rekordy 12, 13, 14 oraz 15 to nie dasz rady ustawić wartości auto_increment na 11.
Nie wiem po co Ci zapełniać wszystkie ID w bazie, jest to bez sensu, ale jeśli już chcesz coś takiego osiągnąć musisz gdzieś zapisywać usunięte rekordy, a przy dodawaniu uzupełniać pole ID o te wcześniej zapisane wartości.
b_chmura
9.12.2007, 21:35:50
w takim razie musisz sam policzyć ile jest rekordów w bazie (
mysql_num_rows" title="Zobacz w manualu PHP" target="_manual)
jeśli liczba pól równa sie 15 to nic nie robisz:D
ale jeśli mniej jak 15 to w pętli sprawdzasz w którym momencie poprzednia wartość mniejsza o więcej jak jeden i zapisujesz sobie jakoś ten numerek do zmiennej którą potem wykorzystasz do Twojego numeru ID.
swoją drogą nie wiem czy można podać własną wartość jeśli pole jest auto_increment
webdice
9.12.2007, 21:38:06
Cytat(b_chmura @ 9.12.2007, 21:35:50 )

swoją drogą nie wiem czy można podać własną wartość jeśli pole jest auto_increment
Można