Code: -------------------- N | street | col | 1 blabla1 bla1 -------------------- 2 blabla2 bla2 -------------------- 3 blabla3 bla3 -------------------- 4 blabla4 bla4 есть такая mysql база где N- auto_inc и primary_key удаляю оттуда 2строку Code: delete FROM `bd` where `N`=2 " Получается вот так Code: -------------------- N | street | col | 1 blabla1 bla1 -------------------- 3 blabla3 bla3 -------------------- 4 blabla4 bla4 Как мне настроить БД чтоб N автоматически менялся т .е было так...или как легче это сделать? Code: -------------------- N | street | col | 1 blabla1 bla1 -------------------- 2 blabla3 bla3 тут чтоб 3 заменилось на 2 -------------------- 3 blabla4 bla4 тут 4 на 3 и так далее
Не понятно - то те колонку N надо уменьшать то уже символ в поле стрит. пересмотри пост ты все верно написал?
м-м-м... вот в firebird/interbase триггер можно сделать... а так, действительно, автоинкремент вручную надо делать: Code: $newN <= SELECT COUNT(N) From `mytable` $newN++; INSERT INTO `mytable` VALUES ($newN, 'somenewtext');
я написал сайт....и при удалении какой либ строки предаю гет запросом n и удаляю строку но при этом структура вся меняется....
Вот и я про то же... Только всё равно не понимаю, нахрена это надо-то? Так каждое удаление будет всю таблицу перекручивать...
это так если только я удаляю самую нижнюю строку а если нет то надо по всем нижестоящим $n+1...просто это получаестя не оптимально...придется переписавать некоторые моменты кода..
просто я написал сайт упираясь на прим кей N вот доделал удаление данных и понял что после удаления все работает некорректно..... Значит лучше будет переписать участки кода?да?
Либо так, либо... Зачем тебе нужен N? Так если ты его выводишь, то можешь получить номер записи(порядковый) так: Code: SELECT COUNT(N) FROM `mytable` where N <= (N из твоей записи)
Мда...у тебя прим.кей id не изменяется при авто_инкремент, а ыт говоришь что после удаления что-то не то упираясь на прим.кей... Противоречие получается, правда? Ищи ошибку в коде