как правильно удалить строку с базы данных

aleks_lv

Новичок
как правильно удалить строку с базы даных и после этого
1)выстроить первичнык ключи по порядку
например
id -> 1.2.3
когда delete 2 то стает 1,3 а как бы хочу что бы 1,2
 

aleks_lv

Новичок
а почему?
а если надо?
ну как бы
Код:
CREATE TABLE IF NOT EXISTS `orders` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(250) NOT NULL,
  `email` varchar(250) NOT NULL,
  `phone` varchar(250) NOT NULL,
  `status` varchar(250) NOT NULL,
  `trackcode` varchar(250) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=71 ;
(53, ' uuuuu ', ' uuuuuu ', ' uuuuuu ', ' 2 ', ' uuuuu '),
(54, ' uuuuu ', ' uuuuuu ', ' uuuuuu ', ' 7 ', ' uuuuu '),
(55, ' uuuuu ', ' uuuuuu ', ' uuuuuu ', ' 7 ', ' uuuuu '),
(56, ' uuuuu ', ' uuuuuu ', ' uuuuuu ', ' 7 ', ' uuuuu '),
(57, ' uuuuu ', ' uuuuuu ', ' uuuuuu ', ' 2 ', ' uuuuu '),
(58, ' uuuuu ', ' uuuuuu ', ' uuuuuu ', ' 7 ', ' uuuuu '),

как бы после удаления например строки 56
то 56 должна стать 57?
 

iNfantry

Новичок
Конеш извини, но очень любопытно - зачем? Может если будет известна цель то и решение более оптимальное всплывет...
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
aleks_lv, потому, а не надо, и без как бы.;)

Не надо экономить на спичках
 

aleks_lv

Новичок
ну эти цифры 55,56 это номера заказов
и при удалении -заказы выстраиваются нановj
а удалять можно любую строку
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Да, и если один вдруг удалился, что по идее делать нельзя... То ничего не произойдет.
 

С.

Продвинутый новичок
ну эти цифры 55,56 это номера заказов
и при удалении -заказы выстраиваются нановj
а удалять можно любую строку
И стало быть все заказы, уже сделанные после удаляемого, поменяют свои номера? Ты в своем уме?
 

aleks_lv

Новичок
блин какая разница
заказчик так имено хочет
так кто то знает решение
после
Код:
DELETE FROM orders  WHERE id=$id
что сделать
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
В целом это не страшно, если они поменяются, просто если заказов 100500 и удалили один в начале, то автор видимо захочет каждому последующему сменить номер на номер-1.

Не важно чего там хочет заказчик, если это идиотизм. Надо грамотно объяснить почему так нельзя делать, а ты этого сделать не смог.
 

Andkorol

Новичок
Закройте уже – это ж откровенное гониво.
Объяснить заказчику не может – потому что сам не понимает, в чём идиотизм этого требования.
 

С.

Продвинутый новичок
Что значит не страшно? Покупатель звонит в контору узнать про свой заказ номер 56. После долгих разборок выяснается, что его заказ уже значится за номером 53.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
С., заказу обычно присваивается то, что не меняется и не завязано на автоинкремент, мне ли тебе говорить? ;)
 

С.

Продвинутый новичок
С., заказу обычно присваивается то, что не меняется и не завязано на автоинкремент, мне ли тебе говорить? ;)
Оба на!. Ты же только что убеждал человека, что автоинкримент не должен меняться. Зачем нужен еще один дополнительный ИД, которому еще надо и уникальность гарантировать?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
С., оба и что?) Нет ничего плохого в дополнительном поле, если например номера заказов должны быть xd45v (кто-то захочет такие 100%), хотя мне и правда номер 12345 нравится больше.

Автоинкремент меняться не должен, хотя бы потому, что он не предназначен для этого.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
С., я ничего не создаю, что ты пристал то?)
 
Сверху