Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   вопрос по mysql (https://forum.antichat.xyz/showthread.php?t=61727)

!{ra!{e/\/ 13.02.2008 18:41

вопрос по mysql
 
Код:


--------------------
N | street | col |
1  blabla1  bla1
--------------------
2  blabla2  bla2
--------------------
3  blabla3  bla3
--------------------
4  blabla4  bla4

есть такая mysql база где N- auto_inc и primary_key удаляю оттуда 2строку
Код:

delete FROM `bd` where `N`=2 "
Получается вот так
Код:

--------------------
N | street | col |
1  blabla1  bla1
--------------------
3  blabla3  bla3
--------------------
4  blabla4  bla4

Как мне настроить БД чтоб N автоматически менялся т .е было так...или как легче это сделать?
Код:

--------------------
N | street | col |
1  blabla1  bla1
--------------------
2  blabla3  bla3  тут чтоб 3 заменилось на 2
--------------------
3  blabla4  bla4    тут 4 на 3 и так далее


spider-intruder 13.02.2008 18:52

Не понятно - то те колонку N надо уменьшать то уже символ в поле стрит. пересмотри пост ты все верно написал?

!{ra!{e/\/ 13.02.2008 18:55

все написал правильно там
мне нужно я удаляю строку а солбец N как бы расставляется 1 2 3 4 .....

bul.666 13.02.2008 19:01

Цитата:

Как мне настроить БД чтоб N автоматически менялся
Никак... Либо Php скриптом, но толку?

desTiny 13.02.2008 19:01

// $N1 - N удаляемой записи
$sql="UPDATE `mytable` SET N=N-1 WHERE N>$N1"

Так, наверно.

desTiny 13.02.2008 19:02

Только работать всё поэтому будет ме-е-е-е-едленно...

bul.666 13.02.2008 19:02

Тогда нарушится автонкремент... =\ Смысла в нем исчезает

desTiny 13.02.2008 19:06

Цитата:

Сообщение от bul.666
Тогда нарушится автонкремент...

м-м-м... вот в firebird/interbase триггер можно сделать...
а так, действительно, автоинкремент вручную надо делать:
Код:

$newN <= SELECT COUNT(N) From `mytable`
$newN++;
INSERT INTO `mytable` VALUES ($newN, 'somenewtext');


!{ra!{e/\/ 13.02.2008 19:06

я написал сайт....и при удалении какой либ строки предаю гет запросом n и удаляю строку но при этом структура вся меняется....

bul.666 13.02.2008 19:07

скажи лучше зачем тебе менять N ?


Время: 18:07