Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблемы с auto_increment 
:(
    Опции темы
Alix36
Дата 8.6.2007, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 478
Регистрация: 6.11.2006

Репутация: нет
Всего: 3



Раньше все работало, на денвере(и стандартный мускул и 5.0) 
Потом пришлось поставить отдельно базу 5.0 Перенес туда старую базу, после этого Все моля    auto_increment  не заполняются автоматически 
#1264 - Out of range value adjusted for column 'id' at row 1 
В толк взять не могу почему..


--------------------
Наши лица как дым, И никто не узнает как мы победим. (С)Пикник.
PM MAIL   Вверх
mzalutski
Дата 8.6.2007, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 22.12.2006
Где: Волгоград

Репутация: нет
Всего: нет



Тип id смотрел? Похоже вылезаешь за границы типа
PM MAIL ICQ   Вверх
Alix36
Дата 8.6.2007, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 478
Регистрация: 6.11.2006

Репутация: нет
Всего: 3



тип id int(225) последняя запись 16

Добавлено через 2 минуты и 12 секунд
дело в скриптах базы данных, переношу в денверовскую базу таблицы, и все работает...


--------------------
Наши лица как дым, И никто не узнает как мы победим. (С)Пикник.
PM MAIL   Вверх
muzer
Дата 8.6.2007, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 387
Регистрация: 31.8.2006

Репутация: 30
Всего: 31



int(225) ????
Это что за тип такой? smile Точнее для чего вы его так? Что плохого вам сделал int?

По теме:
В Денвере видимо отключены STRICT SQL Mode, поэтому при некорректной вставке ваше значение преобразовывается в нормальное, точнее берётся автоинкремент. Некорректным значением может быть пустая строка, например:
INSERT table(id) VALUES ('');

По-хорошему _ваши_ скрипты бы поправить. На а если нет, то отключить в конфиге mysql'я все или соответствующие STRICT MODE'ы (о подробностях в доки, я не углублялся никогда).
PM WWW   Вверх
Alix36
Дата 11.6.2007, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 478
Регистрация: 6.11.2006

Репутация: нет
Всего: 3



конечно можно написать 1 запрос к базе, в целях выявления наибольшего значения... Но если проет требует подобных добавлений каждые 2 мин. а пользователей 500 Это получается к имеющимся 500*30 мы имеем 500*30*2 , а ето уже ого...
int(225)- я кусок sql кода пнул. При создании таблицы это значит  поле с типом int длинной 225(т.е. мах для int)


--------------------
Наши лица как дым, И никто не узнает как мы победим. (С)Пикник.
PM MAIL   Вверх
muzer
Дата 12.6.2007, 02:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 387
Регистрация: 31.8.2006

Репутация: 30
Всего: 31



Цитата(Alix36 @  11.6.2007,  22:43 Найти цитируемый пост)
поле с типом int длинной 225(т.е. мах для int) 

нет, это значит совершенно другое. читайте доки

Цитата(Alix36 @  11.6.2007,  22:43 Найти цитируемый пост)
конечно можно написать 1 запрос к базе, в целях выявления наибольшего значения...

я вроде написал, что можно сделать.
PM WWW   Вверх
malor
Дата 27.6.2007, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 632
Регистрация: 17.11.2006

Репутация: нет
Всего: нет



Забрасываю текст запроса в PayQuery.SQL.Text:
PayQuery.SQL.Text := Format(SQL_PAY,[PayTime,StrToInt(Sv),nomer,summa,0.5,100]);
где константа SQL_PAY  имеет такое значение:
SQL_PAY= 'INSERT INTO pay (pay_d,pay_s,pay_a,pay_ammount,pay_c,pay_st) VALUES (%s,%d,%s,%f,%f,%d)';

затем идет строка:
PayQuery.ExecSQL;
на которой возникает ошибка:
SQL Error: Column count doesn't match value count at row 1.

Поле, на которое ругается, при создании таблицы так было объявлено:
`pay_ammount` float(5,2) default NULL,
В него пытаюсь как раз воткнуть  FloatToStr(summa). Как быть?

В таком варианте - 
 PayQuery.SQL.Text := Format(SQL_PAY,[PayTime,StrToInt(Sv),nomer,'10','0.03',100]) ;
при 
  SQL_PAY= 'INSERT INTO pay (pay_d,pay_s,pay_a,pay_ammount,pay_c,pay_st) VALUES (%s,%d,%s,%s,%s,%d)';
все нормально. Т.е. сумму фиксировал вносимую. Но хочется, чтоб вместо '10' стояло FloatToStr(summa).

Delphi 7, MySQL 5.0.37, ZEOSDBO-6.6.1-beta.zip

Это сообщение отредактировал(а) malor - 27.6.2007, 09:51
PM MAIL   Вверх
muzer
Дата 27.6.2007, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 387
Регистрация: 31.8.2006

Репутация: 30
Всего: 31



оспади, что это?
malor, вы вообще о чём?
это топик о другом
пить меньше надо (с) чьё-то там

PM WWW   Вверх
malor
Дата 27.6.2007, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 632
Регистрация: 17.11.2006

Репутация: нет
Всего: нет



Верно! Когда я наткнулся на этот пост у меня было сообщение об ошибке - Out of range value adjusted for column 'id' at row 1 .
Я запостил. Далее ковыряя программу, избавился от этой ошибки получив другие, и соответственно вносил исправления в этот пост. Получилось о другом, но удалять не стал. Вот такая эволюция...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0465 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.