MySQL таблица, максимален брой редове?

Kavhann

Registered
Здравейте,

Сблъсках се със следния странен факт, който ме вкара в размишление.

Създадох си в MySQL таблица, която кръстих limited и съдържа две полета:

Код:
id => int(1), primary key, AUTO_INCREMENT
name => varchar(10)

Както сами виждате, id е от тип INTEGER и има размерност 1, което ще значи, че може да има стойности от 0 до 9 включително. Също така id е избрана за ключ на таблицата и с всяка нова стойност стойността на id наратва с единица. След това си създадох скрипт, който изтрива всичко, което е било до този момент в таблицата и добавя нова стойност в нея. По този начин скрипта добавя стойност, след това я изтрива и добавя нова, после трие и нея и добавя още по-нова...и т.н. и т.н.

Целта на скрипта е да стигне до лимита на полето id, така че след деветата стойност при добавянето на още една нова стойност за таблицата да установя, как точно тя ще бъде записана в таблицата. Моето предположение беше, че id от 9 ще заеме стойост 0 и така ще прави цикъл в рамките на [0, 9]. Учи, не...

След добавянето на десета стойност в таблицата id заема стойност 10, въпреки че изрично му е упоменато да бъде с дължина 1. Та тук идва и моя въпрос, защо става това?

Целия този "експеримент" направих, защото си зададох въпроса дали е възможно базата ми един ден, след 20 години ако щете, да и се изчерпят id-тата...

Моля пишете, защото това ме вкара в Тъч...
 
Най-вероятно е MYSql да си увеличава стойностите автоматично, за да не стават грешки. За varchar обаче не ги увеличава. Пробвал съм.
 
Не означава точно това, което си мислиш.
http://alexander.kirk.at/2007/08/24/what-does-size-in-intsize-of-mysql-mean/
Можеш просто през phpmyadmin да пробваш с 637563 и да видиш, че ще го запише.
 

Back
Горе