mysql

  • Имею поле ID в таблице..AUTO_INCREMENT, NOT NULL....(ну и другие поля). Проблема в том что при стирании какой-нибудь записи..ID не декрементируеться...для того что бы количество записей соответсвовало последнему номеру ID.


    Это конечно можно сделать в ручную через PHP или PERL...но может это возможно в самой MYSQL ?

  • Цитата

    По словам пользователя tomsk45 ...
    Как посоветовал "человек", попробуй через второй ID, там сможешь управлять.


    Cделал дополнительное поле IDCount....идентично первому...
    Оно все равно не декрементирует при стирании записей....


    Я правда нашел другой способ....убрал с ID метод....AUTO_INCREMENT.....И при добавлении новой записи...говорю что бы присваивал значение равное общему количеству записей....а так как вся эта кухня начинаеться...с нуля...то говорю....что бы вычислял минус единицу.......


    Но я точно знаю...что можно сделать проще......средствами MYSQL.....только вот не помню где и у кого это видел.....


    А так все равно спасибо.........

  • Цитата

    По словам пользователя Wolfenstein ...


    Я правда нашел другой способ....убрал с ID метод....AUTO_INCREMENT.....И при добавлении новой записи...говорю что бы присваивал значение равное общему количеству записей....а так как вся эта кухня начинаеться...с нуля...то говорю....что бы вычислял минус единицу.......



    AUTO_INCREMENT'om upravljat ty ne smoshesh, a to chto ty sdelal moshet v budushem privesti k problemam.


    Predstav chto v poslednem <Datensatz> 25 u tebja stoit ID25.
    Potom ty steraesh <Datensatz> 4 gde stoit ID4, obshee chislo stanovitsja 24. Ty zanosish novyi <Datensatz>, poluchaetsja snova 25. Teper u tebja 2 ID so znacheniem 25.

  • Цитата

    По словам пользователя waldemarb ...
    I esli ne sekret, pochemu poslednii ID dolshen byt raven obshemu chislu zapisei?


    Считай это моим капризом.....шутю.....:)
    ...............................................
    Относительно всего остального ты прав....дупликаты получаються....и кстати это видно...явно.......
    тупею я потихоньку...:(..


    Ну а вообще что ты сам посоветуешь ? Как сделать так что бы следовательность записей соответствовала ID-значению...
    (я думаю надо то что то типа механизма смещения замутить)..

  • Cho to ne mogu ustanovit mysql, dana takaya tema v config.php :


    $dbhost = "localhost";
    $dbuname = "mifodiy";
    $dbpass = "******";
    $dbname = "mifodiy";
    $prefix = "nuke";
    $user_prefix = "nuke";
    $dbtype = "MySQL";
    $sitekey = "mifodiy";


    vrode vse pravilno zapolnil, a ne pashet:
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    Pomogite esli kto znaet cho delat! ?(


  • Ты пробувал загнать всю базу (.sql)от нюки через phpMyAdmin?



    И пречём тут $sitekey = "mifodiy";???


    Должно быть:


    $dbhost = "localhost";
    $dbuname = "mifodiy";
    $dbpass = "*******";
    $dbname = "mifodiy";
    $prefix = "nuke";
    $user_prefix = "nuke";
    $dbtype = "MySQL";
    $sitekey = "SdFk*fa28367-dm56w69.3a2fDS+e9";


  • В принцыпе ничего сложного нет.


    при добавлении новой строчки, у тебя должен быть ID =(SELECT COUNT(*) FROM таблица) + 1


    если ты захочешь какую либо запись стереть, ты делаешь следующее.


    запоминаешь ID строчки, что ты хочешь стереть
    потом делаешь у строчки с номером =(SELECT COUNT(*) FROM таблица), Update на ID с номером запомненной строчки.


    но это морока, лучше использовать автовставление.
    если потом нужно подсчитать, то (SELECT COUNT(*) FROM таблица) хорошо считает :)