|
|
|
id (auto_increment)
|
|||
|---|---|---|---|
|
#18+
есть уже таблица,хочу создать поле новое id (auto_increment) но поле не создается(ems)пишет duplicate entry "127" for key1,в чем дело? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 16:18 |
|
||
|
id (auto_increment)
|
|||
|---|---|---|---|
|
#18+
не могли бы вы опубликовать ответ сервера на команды describe вашатаблица show index from вашатаблица а также команду, которой вы пытаетесь добавить поле. и что такое ems? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 16:32 |
|
||
|
id (auto_increment)
|
|||
|---|---|---|---|
|
#18+
ems--EMS MySQL Manager я им столбец создаю, show index from таб----пусто, Field TypeNullKey Default Extra fam varchar(20) name varchar(20) otch varchar(20) tel varchar(10) otdel varchar(40) doljnost varchar(150) email varchar(20) YES null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 16:40 |
|
||
|
id (auto_increment)
|
|||
|---|---|---|---|
|
#18+
нельзя ли увидеть команду, которую испускает этот умс, чтобы создать поле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 17:24 |
|
||
|
id (auto_increment)
|
|||
|---|---|---|---|
|
#18+
ALTER TABLE `sot` ADD COLUMN `id` tinyint(4) zerofill default '0' auto_increment UNIQUE FIRST результат : "Duplicate entry '0255' for key 1" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 18:55 |
|
||
|
id (auto_increment)
|
|||
|---|---|---|---|
|
#18+
ну, все ясно. в таблице больше записей, чем 127 и больше чем 255. а тиниинт не может хранить записей больше, чем эти числа. тип надо выбрать хотябы smallint, а если и этого не хватит - еще побольше. подробности о том, сколько могут хранить разные инты - здесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 19:56 |
|
||
|
id (auto_increment)
|
|||
|---|---|---|---|
|
#18+
блин ,черт вот черт как обидно вот блин на голом месте,не могу успакоится!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 20:05 |
|
||
|
id (auto_increment)
|
|||
|---|---|---|---|
|
#18+
У меня тоже вопрос: Есть таблица, у неё индесное поле с автоинкрементом, при создании записей значение в этом поле постоянно увеличивается даже если есть свободные незанятые индексы, как можно перенумеровать эти поля в таблице что бы не было незанятых индексов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 13:50 |
|
||
|
id (auto_increment)
|
|||
|---|---|---|---|
|
#18+
Spectator,\r у новичков таких вопросов много (тынц, например, еще поиском можно миллион найти).\r \r имхо, ты не должен этого хотеть (с)\r \r ответа я не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 14:34 |
|
||
|
id (auto_increment)
|
|||
|---|---|---|---|
|
#18+
Просто если постоянно добавлять и удалять записи то эти индексы закончатся в итоге, их же не бесконечно, и что тогда делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 15:49 |
|
||
|
id (auto_increment)
|
|||
|---|---|---|---|
|
#18+
Spectator =) если нормальные типы данных будешь использовать - не закончаться. int unsigned not null auto_increment на пару десятков лет тебе хватит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 15:57 |
|
||
|
id (auto_increment)
|
|||
|---|---|---|---|
|
#18+
Макс М.Spectator =) если нормальные типы данных будешь использовать - не закончаться. int unsigned not null auto_increment на пару десятков лет тебе хватит. Несерьезный ответ. Если есть реальная задача: записей в таблице не будет много (полсотни максимум), но они будут часто удаляться и добавляться. Зачем для этого делать поля INT. Может, тогда все поля сразу BIGINT-ами делать? Чтоб не думать. Как оказалось в процессе отладки, в поле TINYINT значение auto_increment быстро достигло 255. И, несмотря на то, что в таблице было всего несколько записей (со значениями ID не по порядку) , новый INSERT сделать было невозможно. После насильного присвоения параметру auto_increment = 1 он автоматически выставился по записи с максимальным ID и стал равен 141 (как и должно быть). После вставки новой записи её ID оказался равен 255. Соответственно, больше записей опять нельзя было вставлять. Парадокс какой-то. Бездумно ставить везде INT-ы и BIGINT-ы я не собираюсь. Это не решение проблемы, так как и в них auto_increment может упереться в максимум в больших динамичных таблицах. И как с этим бороться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 12:10 |
|
||
|
id (auto_increment)
|
|||
|---|---|---|---|
|
#18+
andruid00 Бездумно ставить везде INT-ы и BIGINT-ы я не собираюсь. Это не решение проблемы, так как и в них auto_increment может упереться в максимум в больших динамичных таблицах. И как с этим бороться? Ставить BIGINT'ы там, где это действительно надо. Чтобы его переполнить, сами посчитайте сколько вам понадобится времени.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 14:56 |
|
||
|
id (auto_increment)
|
|||
|---|---|---|---|
|
#18+
Welly Ставить BIGINT'ы там, где это действительно надо. Чтобы его переполнить, сами посчитайте сколько вам понадобится времени.... Я описал вполне реальную задачу. Получается, для неё нужно ставить INT? А если у меня уже INT и в таблице постоянно делается DELETE/INSERT? Получается, переполнение параметра auto_increment - вопрос времени? Это не есть хорошо, так как система, написанная под заказ, может дать сбой например, через несколько лет, когда заполнится INT. Ставить везде BIGINT? Выходит, TINYINT ни на что не годится? Однодневка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 15:17 |
|
||
|
id (auto_increment)
|
|||
|---|---|---|---|
|
#18+
andruid00Это не есть хорошо, так как система, написанная под заказ, может дать сбой например, через несколько лет, когда заполнится INT. Use calc.exe Предел Int - 4294967295 ... делим на 365, делим на 100 000 (изменений в день) и получаем ~117 ... лет. Собственно к этому времени заказчик наверняка уже поменяет то, что делал ты, да и не к кому будет уже претензии предъявлять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 18:30 |
|
||
|
id (auto_increment)
|
|||
|---|---|---|---|
|
#18+
andruid00[quot Welly] Я описал вполне реальную задачу. Получается, для неё нужно ставить INT? <skipped> Выходит, TINYINT ни на что не годится? Однодневка? Ну сбрасывайте тогда после каждого DELETE значение автоинкрементного поля в 0, если уж сильно хочется tinyint использовать. Хотя тогда вообще непонятно, зачем вам это поле нужно... TINYINT следует применять только для малых значений, например, возраст человека, количество детей, класс, в который ходит ребенок и т.д., но никак не для автоинкрементных полей. А для вашей задачи, которую вы, кстати, не описали, надо считать, хватит ли вам INT, потому что иногда встречаются задачи, когда его реально не хватает. Но BIGINT избавит вас и от подсчетов, и гарантированно от возможного переполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 07:57 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=32406306&tid=1854382]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
81ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 405ms |

| 0 / 0 |
