ERROR 1292 (Truncated incorrect INTEGER value: 'd3ea87d0c34cce2260b260b968897787 ?

vovanium

Новичок
флоппик
вообще говоря, он как ни странно, прав, имхо. (с точки зрения написанной документации)
А где там написано, что при тип expr может быть строкой?

Никого не смущает что та же функция mysql_insert_id возвращает только int значения?
 

svetasmirnova

маленький монстрик
> Мускуль 5.1
...
> 4.1.15 ... может из-за этого ?

Ты уж определись, хотя это не нужно уже.

> потому что при апдейте просто LAST_INSERT_ID( ) вернет 0, а при LAST_INSERT_ID( id ) mysql_insert_id всегда будет возвращать правильный ID (это касается синтаксиса ON DUPLICATE KEY)

А какая разница? Ты же потом сам устанавливаешь ID в нужное тебе:

id = 'd3ea87d0c34cce2260b260b968897787',

А по теме всё правильно сказали: d3ea87d0c34cce2260b260b968897787 - это не число.

> как узнать, что запрос прошел без ошибок на все 100% ?

mysqli_warnings и SHOW WARNINGS плюс к mysql_error
 

флоппик

promotor fidei
Команда форума
Партнер клуба
как часто бывает, интересный вопрос останется неотвеченным :)

-~{}~ 02.04.09 01:34:

А где там написано, что при тип expr может быть строкой?
тип expr - это expression, выражение. Строки вполне могут учавствовать в выражениях.
 

vovanium

Новичок
флоппик
выражение, имеется ввиду, что-то типа id +1, но в итоге должно быть число
 

флоппик

promotor fidei
Команда форума
Партнер клуба
выражение, имеется ввиду, что-то типа id +1, но в итоге должно быть число
кто сказал? где написано? «имется ввиду» может что угодно.
На самом деле, все понятно. Это очередной пример, как нельзя сесть между двух стульев - быть ультра легкой и скоростной бд за счет жестких ограничений в конструкциях, а потом ломанутся в «правильный скуэль»
 

pilot911

Новичок
люди, как это работало только вчера? логинился и разлогинивался...

собака зарыта где-то рядом
 

vovanium

Новичок
флоппик
быть ультра легкой и скоростной бд за счет жестких ограничений в конструкциях, а потом ломанутся в «правильный скуэль»
Проблема не в мускуле, а в кривизне рук того кто не понимает для чего предназначена функция LAST_INSERT_ID.

-~{}~ 01.04.09 21:51:

pilot911
Мне уже любопытно, ты настолько тупишь или прикалываешься?
 

pilot911

Новичок
Автор оригинала: vovanium
флоппик

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

-~{}~ 01.04.09 21:51:

pilot911
Мне уже любопытно, ты настолько тупишь или прикалываешься?
спокойствие, выводы сделаем попозже
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Проблема не в мускуле, а в кривизне рук того кто не понимает для чего предназначена функция LAST_INSERT
в нормальных субд суррогатов типа автоинкремента вообще нету.
 

vovanium

Новичок
pilot911
Как оно могло работать если mysql_insert_id возвращает int 32?
Мне вот интересно, как ты из 4 байтового числа получал 16 байтовый md5 хэш.
 

pilot911

Новичок
Автор оригинала: vovanium
pilot911
Как оно могло работать если mysql_insert_id возвращает int 32?
Мне вот интересно, как ты из 4 байтового числа получал 16 байтовый md5 хэш.
я не использовал mysql_insert_id, это обычный запрос на создание сессии в БД :)
 

vovanium

Новичок
флоппик
в нормальных субд суррогатов типа автоинкремента вообще нету.
в нормальных субд судя по твоей логике функции выполняются без ошибок, даже с неправильные аргументами...

-~{}~ 01.04.09 22:04:

pilot911
сначала у тебя
люди, как это работало только вчера? логинился и разлогинивался...
а теперь оказывается
я не использовал mysql_insert_id, это обычный запрос на создание сессии в БД
с головой дружишь? :)
 

pilot911

Новичок
Автор оригинала: vovanium
флоппик

в нормальных субд судя по твоей логике функции выполняются без ошибок, даже с неправильные аргументами...

-~{}~ 01.04.09 22:04:

pilot911
сначала у тебя

а теперь оказывается

с головой дружишь? :)
в данной конкретной функции createSession значение ID мне не нужно
 

pilot911

Новичок
Автор оригинала: vovanium
Ну так зачем ты всунул LAST_INSERT_ID()?

хотел получать значение ID через mysql_insert_id()... но согласен, проще хранить в объекте ID

вопрос же строится не только для апрейта - если запись не существует, тогда среди списка полей в этом запросе " id='12', " не будет.. соответственно, LAST_INSERT_ID позволит значение ID вставленной записи

-~{}~ 01.04.09 23:17:

в общем, в 5.1 этот синтаксис уже не работает... вопрос решен, всем спасибо
 
Сверху