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

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

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

Тема Странен проблем с MySQL!нови  
Автор hadministratora ()
Публикувано05.05.04 00:15



От скоро един от PHP скриптовете ми спря да работи без видима причина. След кратко разследване установих, че причината може да е в странното поведение на една от таблиците. Странността му се заключава в това, че ако изтрия последния ред (т.е. този с най голямо ID) и той има примерно ID 18, то при следващия INSERT ID-то отново е 18, а не както може да се очаква 19. Възможно и да съм си дефинирал грешно индексите.

Колоната ID е първа в таблицата, от тип INT(255) e, дефинирана е като PRIMARY и има auto increment. Опитах и да създам UNIQUE индекс върху нея, но не помогна. Таблицата е BDB. MySQL-а ми е 4.0.не-помня-колко.

Благодаря предварително



Тема Re: И какво му е странното? Читать надо ... [re: hadministratora]  
Автор salle (един такъв)
Публикувано05.05.04 09:57





14.2.5 CREATE TABLE Syntax

...

An integer column can have the additional attribute AUTO_INCREMENT.
...

If you delete the row containing the maximum value for an AUTO_INCREMENT column, the value will be reused for an ISAM or BDB table, but not for a MyISAM or InnoDB table.



Тема Re: И какво му е странното? Читать надо ...нови [re: salle]  
Автор hadministratora (хабсурден)
Публикувано05.05.04 14:02



Очевидно ми е убягнало, че има разлика при различните видове таблици...

А нима няма начин да се постигне ефект като при MyISAM таблица?

Все пак става въпрос за таблица с потребители и е доста кофти някой потребител да получи ID което е било на друг преди него? Разбира се в краен случай мога и да не ги изтривам от таблицата, а само да ги маркирам като изтрити, но тоя вариант не ми допада особено...

Ако някой се сети да каже.
Сърдечно благодаря на salle!

So long and thanks for all the fish!


Тема Re: ами предимства и недостатъци ...нови [re: hadministratora]  
Автор salle (един такъв)
Публикувано05.05.04 18:29



Всеки тип таблици си ги има

Ако държиш на транзакциите моят съвет е

ALTER TABLE tbl TYPE=InnoDB

InnoDB е много по-добра машина от BDB далеч не само заради auto_increment



Тема Re: ами предимства и недостатъци ...нови [re: salle]  
Автор hadministratora (хабсурден)
Публикувано05.05.04 19:16



Знам, но уви моя хост не поддържа този тип таблици и не съм в положение да предявявам претенции...

So long and thanks for all the fish!


Тема Re: интересно ...нови [re: hadministratora]  
Автор salle (един такъв)
Публикувано05.05.04 22:04



Това е доста рядък случай.
По мои наблюдения на 1 потребител на BDB се падат около 10 000 потребители на InnoDB.

Ами в такъв случай ще трябва да се съобразяваш. Като например да прибегнеш до номера с отделна таблица само за auto_increment стойностите ... и да си усложниш почти всички заявки ама ... това е положението.

<P ID=&quot;edit&quot;><FONT class=&quot;small&quot;><EM>Редактирано от salle на 05.05.04 22:27.</em></font></p>

Редактирано от salle на 05.05.04 22:28.




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


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

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