Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 20.01.2011, 18:47   #1
pavelslap
Пользователь
 
Регистрация: 08.02.2009
Сообщений: 73
Вопрос id

Здравствуйте! Вопросы:

1) Допустим в таблице есть столбик id с auto_increment'ом. Каким образом можно обновить все id в полях одной таблицы, если значения id идут не по порядку, а допустим так 2,3,7,9,11, и.т.д. Auto increment работает, просто получилось так что они разбросались.

2) Каким образом можно проделать вышесказанное, но чтобы id значения начинались с двойки.

Надо сделать это на php.
Я пробывал по разному, но не получалось. Вот одна из моих проб:
PHP код:
$rrr mysql_query("SELECT * FROM categories",$db);
            
$num_rows mysql_num_rows($rrr);
            for(
$tt=0$tt<$num_rows$tt++)
            {
                
$ins_upd_res mysql_query("UPDATE categories SET id=id+1",$db);
            } 
Да, и к update нужно обязательно добавлять условие where, иначе он попытается обновить много чего
pavelslap вне форума
Старый 20.01.2011, 19:13   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от pavelslap Посмотреть сообщение
1) Допустим в таблице есть столбик id с auto_increment'ом. Каким образом можно обновить все id в полях одной таблицы, если значения id идут не по порядку, а допустим так 2,3,7,9,11, и.т.д. Auto increment работает, просто получилось так что они разбросались.

2) Каким образом можно проделать вышесказанное, но чтобы id значения начинались с двойки.
А можно узнать - ЗАЧЕМ это всё вам понадобилось???

Просто похоже на одну из задач,которые возникают от отсутствия базовых знаний о СУБД.
Andkorol вне форума
Старый 20.01.2011, 19:22   #3
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Да для начала нужно читать-читать- и еще раз читать ... а только потом писать))) Иначе будете потом много переписывать)
И не надо повсюду создавать одни и те же темы.
В SQl я вам ответил по существу.
Cronos20 вне форума
Старый 20.01.2011, 21:38   #4
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

PHP код:
$rrr mysql_query("SELECT * FROM categories",$db); 
while(
$row mysql_fetch_array($rrr)) {
$ins_upd_res mysql_query("UPDATE categories SET id='".$ow[id]+1."' WHERE id='".$row[id]."'",$db); 

Вот так вот просто...
there are no limits when you're software engineer
spein вне форума
Старый 20.01.2011, 22:10   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от spein Посмотреть сообщение
Вот так вот просто...
Да уж - проще некуда...
Вы тоже не понимаете сути применения AUTO_INCREMENT-полей..?
Или что вообще означает само понятие "id"...?
Andkorol вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц