6 / 6 / 5
Регистрация: 16.01.2012
Сообщений: 245
|
||||||
1 | ||||||
обновить в базе id через php28.08.2012, 22:34. Показов 3557. Ответов 10
Метки нет (Все метки)
Есть в базе колонка id где хранятся записи, но получается изначально была допустим 1 , 2, 3,4,5 и тд записи по порядку, теперь я удалил например 2 и 5, остаются 1,3,4. начинаю добавлять добавляется новая уже с id 6. Как обновить все записи и каждый раз чтобы если я и удаляю запись то id сам выстраивается друг за дружкой.
0
|
28.08.2012, 22:34 | |
Ответы с готовыми решениями:
10
Обновить дату в mysql через php Создание таблицы в базе данных через php Редактирование и удаление полей через php в базе данных Подсчёт определённых строк в базе и вывод их через php |
67 / 60 / 25
Регистрация: 05.05.2009
Сообщений: 131
|
|||||||||||
29.08.2012, 01:40 | 2 | ||||||||||
Судя по всему записи удаляются по одной. Тогда можно при каждом удалении сдвигать все записи, следующие за удалённой, на одну позицию вверх
1
|
6 / 6 / 5
Регистрация: 16.01.2012
Сообщений: 245
|
|
29.08.2012, 07:26 [ТС] | 3 |
А если будет удалено не 1 а 1 раз 10 записей, другой 15 например. Сейчас вот например у меня 1 а потом 77 , 93, 103, 104 и тд. А нужно чтобы в базе comments3 все id каждый раз были по порядку. Как это сделать через запрос?
0
|
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
||||||||||||||||
29.08.2012, 09:23 | 4 | |||||||||||||||
Способ 1: UPDATE ... ORDER BY `id` DESC
А вообще, если мы допускаем подобное перестраивание ID, значит они ни для чего не используются, значит они не нужны, значит `id` можно удалить из таблицы. Добавлено через 1 час 29 минут Бред написал. Надо ASC:
1
|
12 / 12 / 0
Регистрация: 23.12.2009
Сообщений: 149
|
|
29.08.2012, 10:51 | 5 |
а зачем это вообще нужно,ведь вы никак не сможете потом восстановить удаленные строки,если это вдруг потребуется...как бы оно не зря так придумано)
1
|
12 / 12 / 0
Регистрация: 23.12.2009
Сообщений: 149
|
|
29.08.2012, 11:08 | 8 |
короче говоря я так понял,что у человека есть таблица неважно с чем, в ней несколько записей n, скажем что n=20, он удаляет 20ю запись и записывает новую,по правилам составления таблиц она будет 21й,хотя 20й записи не существует == > порядок нарушается 18,19,21 это выглядит не красиво...
мб из этих соображений человек хочет их упорядочить?!просто как бы других вариантов я не вижу...и думаю делать это не стоит Добавлено через 1 минуту не наблюдал такого в своей практике честно говоря
1
|
KOPOJI
|
29.08.2012, 11:10
#9
|
1
|
6 / 6 / 5
Регистрация: 16.01.2012
Сообщений: 245
|
|
29.08.2012, 12:08 [ТС] | 10 |
На самом деле дело вот в чём, это система вопросов, то есть я пользователь зашёл на сайт мне пишет что я задаю например 15 вопрос (а это работает пока так, что я нахожу через запрос самый больший id и добавляю 1, получается фактически уже в базе 14 записей + 1 и получается что задаю 15 вопрос.) Так вот я задал данный вопрос, потом они через админку попадают ко мне на проверку если написали чушь, то я его удаляю. А теперь если мне задали 3 вопроса, 15,16, и 17 например, я удаляю ток 16, и получается нумерация ведь пропадает. Правда каждый раз обновлять id тоже не вариант думаю. Может мне проще через count всё делать? Даже скорее всего так и проще, подсчитываю сколько задано вопросов добавляю 1 и вот следующий вопрос номер получается. (P.S. Я перемудрил со всем этим делом наверное изначально.)
0
|
12 / 12 / 0
Регистрация: 23.12.2009
Сообщений: 149
|
|
29.08.2012, 12:13 | 11 |
в таблице создайте еще одно НЕ КЛЮЧЕВОЕ поле,назавите его idquestion его не надо автоинкрементировать и сами задайте этому полю id по порядку при добавлении новой строки припишите к этому полю значение +1 и в своих вычислениях исполюзуйте не поле id а idquestion
0
|
29.08.2012, 12:13 | |
29.08.2012, 12:13 | |
Помогаю со студенческими работами здесь
11
никак не могу разобраться с поиском по базе через форму php Замена информации в базе данных MySQL со страницы пользователя через PHP Доступ к базе данных на базе хранимых процедур MySQL из php Как обновить php 5.3.29 до php 5.6 на openserver? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |