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

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

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

Тема Защо става така?нови  
Автор hrisunko (Наблюдател)
Публикувано29.08.01 14:15



Клектака ми ID е auto_increment. Имам 3 реда с информация:

1 |
----------
2 |
----------
3 |
-----------

и ако изтрия ред 3, следващият ред, който въведа ще бъде с ID = 4.

1 |
-------
2 |
-------
4 |
------

Защо става така? И има ли шанс след като ред е изтрит да се добавя номер по-голям с 1 от предходния?



Тема Re: Защо става така?нови [re: hrisunko]  
Автор enchanted (гьомбаба)
Публикувано29.08.01 14:33



аз да се обадя, макар че не съм сигурен дали има sql решение
аз не ползвам auto_increment по същите причини, а count() или max() като увеличавам с едно
но нека sql експертите да се изкажат по въпроса

който спре - умира


Тема Re: Защо става така? [re: hrisunko]  
Авторedmon (Нерегистриран)
Публикувано29.08.01 16:07



tfa sigurno e ritorichen vypros:))
procheti si postinga i kato stignesh do auto_increment se zamisli ko znachi:)

ama aide... tfa e edno takova deto koto i da pravish se se uvelichva i si pazi tekushtata stoinost niakyde drugade i ne moe go vyrnish nadolu do tri sled kato e stignalo do 4:)



Тема Защото така трябванови [re: hrisunko]  
Автор Lubo_R (Razbirach)
Публикувано29.08.01 18:00



Пруи добре организираната (проектирана) база от данни не би трябвало логиката на програмат да зависи от стойността на PRIMARY KEY а е достатъчно той да уникален. Ако искаш наистина стойностите да са поредни зипозвай max() функция, но за да си сигурен ще трябва да заключваш цялат таблица. Което не е добре. Ако ще ти трябава да извеждаш данните по реда на постъпването им използвай си добави още една колона за време и сортирай по нея!
Успех.



Тема Re: Защо става така?нови [re: hrisunko]  
Автор Цвeтaн ЦвeтkoвАдминистратор (Администратор)
Публикувано29.08.01 19:43



До версия 3.22 работеше точко както ти очакваш ако изтриеш последния след това ти връща пак неговия номер. Но доколкото си спомням имаше дискусия че това не е правилно и в 3.23 го направиха да е истинско auto_increment, мисля че по ANSI SQL 92 е дефинирано точно така
винаги да ти дава нов номер без да се интересува дали си изтрил последния.

...


Тема Re: Защо става така?нови [re: hrisunko]  
Автор Alexander4o ()
Публикувано03.09.01 01:29



Подобно нещо се получава и в Interbase с генераторите - всеки път ти дава нова стойност. Целта е да могат да се генерират ключове, които са уникални за всички транзакции. Предварително не се знае, коя транзакция ще завърши първа, така че поредност на стойностите не е възможна.



Тема Re: Защо става така?нови [re: hrisunko]  
Автор curly (Well known :P)
Публикувано03.09.01 16:00



Hm, ami auto_increment e UNIQUE, zatfa stafa taka. Ako pak ti dade star nomer - fe4e ne e uniq :)
oshte pofe4e:
table1:
ID auto_inc
Name .....

table2:
linkID ID-to ot table1
Money :)


Ako delnesh ID=3 ot table1, i ostafish recorda f table2, poznai ko sha stane ako otnofo assignesh ID=3 :)

rgdz
curly


Тема Re: Защо става така?нови [re: curly]  
Автор hrisunko (Наблюдател)
Публикувано06.09.01 19:58



Не се бях замислил за подобен проблем. Даже го осъзнах като се замислих по задълбочено върху въпроса. Мисля, че създателите значт какво вършат, така че, по-дпбре да им се доверя. :)

Знам, че най-важното е да се поставя базата данни, която е създадена, в най-различни ситуации и да се проследи как ще реагира в дадена ситуация преди да се използва в интернет. Но отначало всичко изглежда толкова добре... :(




*Кратък преглед
Клуб :  


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

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