Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Подскажите пожалуйста, возможно ли сделать такой запрос.
Есть таблица
+----+------+-------------+-------+---------+------+------+------+----------+
| ID | name | description | title | alt_img | img | url | hide | position |
+----+------+-------------+-------+---------+------+------+------+----------+
| 1 | 1 | NULL | NULL | NULL | NULL | NULL | 0 | 1 |
| 2 | 2 | NULL | NULL | NULL | NULL | NULL | 0 | 2 |
| 3 | 3 | NULL | NULL | NULL | NULL | NULL | 0 | 3 |
| 4 | 4 | NULL | NULL | NULL | NULL | NULL | 0 | 4 |
| 5 | 5 | NULL | NULL | NULL | NULL | NULL | 0 | 5 |
| 6 | 6 | NULL | NULL | NULL | NULL | NULL | 0 | 6 |
| 7 | 7 | NULL | NULL | NULL | NULL | NULL | 0 | 7 |
| 8 | 8 | NULL | NULL | NULL | NULL | NULL | 0 | 8 |
+----+------+-------------+-------+---------+------+------+------+----------+
Поле ID стоит auto_increment. Нужен запрос чтобы например 8 вставить между 2 и 3 . И соответственно чтоб не было пропусков в ID.
Неактивен
А зачем?
UPDATE tablename SET ID = name + 1 WHERE name > 2;
UPDATE tablename SET ID = 3 WHERE name = 8;
Но смысла в этом нет никакого, данные всегда выдаются в порядке сортировки,
так что переставлять ID — дело неблагодарное, а главное — оно может побить
внешние ключи.
Неактивен
Ок. Но не совсем то. Нужно мне это для того чтоб на сайте сделать вывод категорий в определенной последовательности. А в админке сайта можно было этим управлять. То что Вы написали не работает так ( В Вашем запросе изменения на +1 проходят, но потом то дается 3 тому что раньше было 7(до первого запроса) и еще делая из восьмерки тройку, восьмерка то пропадает совсем.
Неактивен
Восьмерка совсем не пропадает, она становится тройкой, а остальные съезжают.
Но id никогда не нужно перекручивать, просто сортируйте по position.
Неактивен
а что мешает position менять. через админку сайта меняешь позицию, а запрос потом обновляет колонку position у записей.
изменяется position, затем в запросе выборки Select указываешь соктировку по этому полю.
Отредактированно DJK (09.08.2009 20:52:25)
Неактивен
Страниц: 1