MySQL: обновить primary key
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
MySQL: обновить primary key - 2008-07-19 10:32:17.600000
|
|
|
t3rmin41
Сообщений: 245
Оценки: 0
Присоединился: 2007-11-12 14:06:01.393333
|
В процессе манипуляции таблицой в mysql появилась такая путаница: user_id user_name 1 …. 2 …. 4 …. 5 …. 6 …. 9 …. мне надо, чтобы user_id шли по порядку, вот так: user_id user_name 1 …. 2 …. 3 …. 4 …. 5 …. 6 …. user_id у меня primary key auto_increment. Имя таблицы: users. Прошу написать запрос, который обновлял, а то в интернете не могу найти пример.
|
|
|
RE: MySQL: обновить primary key - 2008-07-25 08:58:55.153333
|
|
|
Valiant
Сообщений: 55
Оценки: 0
Присоединился: 2008-07-14 15:01:54.353333
|
выполнить подобное в MySQL может только движок InnoDB Дело в том что после того как вы удаляете какую нибудь запись, запись не удаляется из базы а всего лишь ставится пометка типа "ЗАПИСЬ УДАЛЕНА". На эту тему я бы в вашем случае не парился. Если вы всё же хотите заняться мозговым ононизмом, то вам следует пересоздать БД но уже использую вышеуказанный движок.
|
|
|
RE: MySQL: обновить primary key - 2008-07-25 12:04:40.026666
|
|
|
dos 999
Сообщений: 331
Оценки: 0
Присоединился: 2007-12-17 10:49:07.556666
|
t3rmin41 блин уже несколько раз подобные вопросы задавали… используй под порядковый номер отдельное поле… примари кей не преднозначен для этого.
|
|
|
RE: MySQL: обновить primary key - 2008-07-25 12:18:58.713333
|
|
|
_hel_
Сообщений: 103
Оценки: 0
Присоединился: 2008-07-09 16:00:40.600000
|
А зачем? Всё итак идёт по порядку. Естественно если ты удалишь запись - то промежуточных строчек не станет. Но такая ситуация как у тебя даже по логике правильна. Если ты вдруг захочешь насильно упорядочить их "вручную", то можешь напороться на такую ситуацию, что тебе придется восстанавливать базу из бэкапа. Я более чем уверен, что айдишники юзеров используются и другими таблицами, которые тебе придется смещать чтобы упорядочить. То есть тебе нужно будет разработать автоматизированное решение для упорядочивания сразу во всех таблицах, что очень сложно, тем более его придется запускать каждую неделю/месяц…. Есть еще одна возможность, чуток переписать скрипт регистрацим, добавить проверку на "потерянные айдишники", если найдется такой (в твоем случае например 3), то скрипт запишет юзера с именно с таким ид, проблем в последствии не будет, а если там нету потерянных айди, то тупо автоинкрементим. Хочу заметить, что такой способ будет чудовищно ресурсоемким, поэтому забей на это дело в корне. Бесполезное метание, никому не нужное.
|
|
|
RE: MySQL: обновить primary key - 2008-07-25 19:02:34.030000
|
|
|
t3rmin41
Сообщений: 245
Оценки: 0
Присоединился: 2007-11-12 14:06:01.393333
|
Ок, ясно. quote:
запись не удаляется из базы а всего лишь ставится пометка типа "ЗАПИСЬ УДАЛЕНА". Так получается, растёт размер базы данных, как в Access, хотя там полезная информация не содержится? А как тогда уменьшить размер БД и/или таблицы?
|
|
|
|
|