| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > 5.8 BIGINT UNSIGNED value is out of range |
| Автор: setnull 13.4.2011, 11:56 |
| Все здравствуйте!!! При переносе БД с версии 5.1.41 на 5.5.8 смешанные операции знаковых и беззнаковых bigint'ов в случаях отрицательного результата приводят к ошибке BIGINT UNSIGNED value is out of range. Первое, по теории: так и не разобрался. Раньше это обстоятельство просто не проверялось или по другому приводились типы и другие типы значились по-умолчанию? Ну и, собственно, как теперь быть? Перекапывать весь код и приводить к знаковому не охотно как-то... Тем более еще пойди сразу вспомни и угадай, где такое может быть. Нашел вариант с СКЛ-режимом NO_UNSIGNED_SUBTRACTION. Режим устанавливается, но ошибка не пропадает... Спасибо!!! |
| Автор: setnull 13.4.2011, 13:02 | ||||
так вот и странно же... на одних и тех же данных... я вот подумал, а могли при импортах/экспортах типы столбцов повидоизменяться? хотя по логике они там именно знаковое и незнаковое должны быть... посмотрю при возможности... Добавлено через 2 минуты и 59 секунд
нет, точка выполнения явно одна и та же... да, с консолью нужно будет поиграться. |
| Автор: Akina 13.4.2011, 13:06 |
Смотря как делать... накосячить трудно, но можно... особенно на пути вроде create table ... select ... |
| Автор: setnull 13.4.2011, 13:07 | ||
не совсем понял... можете уточнить? |
| Автор: Akina 13.4.2011, 13:43 |
| Не всё то, что лезет в UNSIGNED, может быть помещено в SIGNED. И наоборот. |
| Автор: skeletor 11.1.2012, 12:26 |
| Подскажите, побели ли проблему, а то сам я столкнулся с этим? |