Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 00:13 02.07.24 
Компютри и Интернет
   >> Бази данни
Всички теми Следваща тема *Кратък преглед

Тема Какво става с auto_increment след 4294967295?нови  
Автор Dakota (гол на деня)
Публикувано08.09.02 12:22



Какво се случва с auto_increment поле, което е примерно тип INT и достигне стойност 4294967295 (максималната unsigned за този тип)?

И в този дух...желателно ли е да се слага полето от по-висок тип: BIGINT?

"Да живееш - значи да се променяш." - Анатол Франс


Тема Re: Какво става с auto_increment след 4294967295?нови [re: Dakota]  
Автор voyager (бастун)
Публикувано09.09.02 09:35



Незнам какво става, след като се достигне края. Сигурно се нулира, дава грешка или стои същото. Може да се записва с експонента, ама едва ли, понеже е инт. Но определено няма нищо лошо да си зададеш БИГИНТ, ако смяташ, че може да имаш толкова много редове.

It`s more fun to compute



Тема Re: Какво става с auto_increment след 4294967295? [re: Dakota]  
Автор Valeri ()
Публикувано09.09.02 10:50



Внимавай с bigint, защото стойността, връщана от mysql_insert_id() ще е неправилна, защото апито конвертира стойността в long. По-добре ще е да използваш LAST_INSERT_ID() в SQL запитване.



Тема Re: Какво става с auto_increment след 4294967295?нови [re: Dakota]  
Автор salle (Един такъв)
Публикувано09.09.02 10:58



Връща грешка Dulpicate Key за всеки следващ опит за INSERT

можеш да го пробваш като си направиш таблица със tinyint auto_increment
и вмъкнеш 128 реда



Тема Re: Какво става с auto_increment след 4294967295?нови [re: Dakota]  
Автор ..:: StanProg ::.. (Developer)
Публикувано09.09.02 19:59



За auto_increment, salle ти е отговорил. Е не е задължително да въвеждаш 128 записа, може първия който вкараш да със стойност на auto_increment полето = 127 и при следващия вкаран ще ти даде: Duplicate entry '127' for key 1.
Ако се опиташ да вкараш стойност по-голяма/по-малка от обхвата системата ще я приравни на максималната/минималната. Точно заради това ще даде тази грешка. Ще се опита да вкара пак 127.

Желателно е типа на полето да се избере в зависимост от конкретните нужди. Щом ще имаш толкова записи, защо не. Иначе какво? Да разделяш записите в отделни таблици не е добра идея според мен.

__________________________________
Пътят към ада е осеян с добри намерения


Тема Re: и за да продължа тематанови [re: ..:: StanProg ::..]  
Автор salle (Един такъв)
Публикувано09.09.02 21:24



Максималния размер на BIGINT UNSIGNED (8 байта) е 18446744073709551616 = 2^ 8*8

И ако някой се притеснява, че подобна таблица може лесно и бързо да се препълни ... нека предположим, че сървъра може да понесе да кажем 12 000 000 INSERT/sec това ще се случи след:

mysql> select @sec:=power(2,8*8)/(12000000) as secs, @hours:=sec_to_time(@sec) as hours, @hours/(365*24) as years;

+------------------------+-----------------+-----------------+
| secs | hours | years |
+------------------------+-----------------+-----------------+
| 1537228672809.12939453 | 427007964:40:09 | 48745.201369863 |
+------------------------+-----------------+-----------------+


Аз не бих се притеснявал за сървърите след 48 хиляди години а вие?



Тема Re: и за да продължа тематанови [re: salle]  
Автор ..:: StanProg ::.. (Developer)
Публикувано10.09.02 09:30




Трябва да се мисли и за бъдещето все пак


__________________________________
Пътят към ада е осеян с добри намерения



Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.