Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: маленький вопросик по поводу auto_increment

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Dazar
Отправлено: 13 Января, 2011 - 12:28:09
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Янв. 2011  


Помог: 0 раз(а)




Создаю новую таблицу методом проб и ошибок. 1 строка получилась неудачной, исправил ошибку, удалил первую строку, создал ещё одну. в поле id стоит auto_increment. и там получилось 2, хотя по сути существует только 1 строка. В связи с этим вопрос: как бы обнулить счёт, чтобы опять началось с первого?
(Добавление)
нашёл! сам ответил на свой вопрос. Надо зайти в "Операции" и там будет рядом со словами auto_increment чило. его заменить на единицу. Это если использовать phpmyadmin. а sql-код выглядит так ALTER TABLE `<название таблицы>` AUTO_INCREMENT =1
 
 Top
Мелкий Супермодератор
Отправлено: 13 Января, 2011 - 13:48:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Так тоже можно, а вообще очистить - это TRUNCATE TABLE `tablename`


-----
PostgreSQL DBA
 
 Top
JustUserR
Отправлено: 14 Января, 2011 - 15:44:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Dazar В качестве допустимого обобщенного варината осуществления работы механизма выбора уникального ключевого идентификатора для сохранеемого информационного поля возможно использование элементов программных триггеров - более подробная информация по данному вопросу предоставлена здесь http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]en/triggers[dot]html


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Dazar
Отправлено: 14 Января, 2011 - 16:10:49
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Янв. 2011  


Помог: 0 раз(а)




JustUserR, мало того что ты что-то непонятное написал, так ещё и ссылка на английский сайт)))
 
 Top
evgenijj
Отправлено: 15 Января, 2011 - 00:12:59
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Dazar пишет:
В связи с этим вопрос: как бы обнулить счёт, чтобы опять началось с первого?

Ответ, который ты нашел, неверный. Не должно возникать бредовой идеи, как "построить по порядку". Представь себе на минуту, что уникальные ID таблицы БД имеют вид не '1,2,3.4.5....', а 'qwerty, uiopa, sdfgh, hjklz' -- другими словами что-то уникальное, но не целое число. В большинстве БД именно так и обстоит дело. Как будешь "удалять пробелы"? Некий уникальный идентификатор строки таблицы БД нужен для того, чтобы по этому ID ее (строку) найти
SELECT * FROM items WHERE id='uiopa'
 
 Top
Champion Супермодератор
Отправлено: 15 Января, 2011 - 09:22:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Dazar пишет:
JustUserR, мало того что ты что-то непонятное написал,
Так еще и не совсем по делу.
JustUserR, если СУБД поддерживает такой объект как поседовательность или генератор, то да. В остальных случаях это не решение, потому что триггер работает в контексте транзакции. И если использовать его для генерации значения на основе чего-нибудь, что хранится в таблице, то есть вероятность, что триггер сгенерит значение, которое в этот же момент сгенерил этот же триггер в контексте другой транзакции. Либо надо использовать блокировки, а это снижение быстродействия и лишний код.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB