Тип данных float при переходе на mysql 5 дает ошибку...

Тип данных float при переходе на mysql 5 дает ошибку...

Провайдер вчера заменил mysql с 4 на 5.
При этом в одной из таблиц поле float (3,2), какое значение ни вводи, сохраняет 9.99.
Убираешь 3,2 = нормально.
Как-то по-другому доп.параметры надо писать в 5 версии?

Что это?
 

alpine

Новичок
Эдуард
http://dev.mysql.com/doc/refman/4.1/en/news-4-1-2.html
Warning: Incompatible change: Handling of the FLOAT and DOUBLE floating-point data types is more strict to follow standard SQL. For example, a data type of FLOAT(3,1) stores a maximum value of 99.9. Previously, the server allowed larger numbers to be stored. That is, it stored a value such as 100.0 as 100.0. Now the server clips 100.0 to the maximum allowable value of 99.9. If you have tables that were created before MySQL 4.1.2 and that contain floating-point data not strictly legal for the column type, you should alter the data types of those columns
 
Да. Ща буду искать, где еще мне подлянку подложили.
То есть сколько таких типов у меня в БД...

Мерси

-~{}~ 23.08.07 21:31:

А чем поле enum провинилось. Тоже не работает из php.
Дает ошибку синтаксиса.
Хотя при вводе тех же данных через phpmyadmin все сохраняется нормально.

Где вообще, нормальный ман по типам данных посмотреть применительно к mysql 5?
 

alpine

Новичок
Эдуард
А чем поле enum провинилось. Тоже не работает из php.
Дает ошибку синтаксиса.
Хотя при вводе тех же данных через phpmyadmin все сохраняется нормально.
Может связано с этим:
http://dev.mysql.com/doc/refman/5.0/en/upgrading-from-4-1.html
Incompatible change: For ENUM columns that had enumeration values containing commas, the commas were mapped to 0xff internally. However, this rendered the commas indistinguishable from true 0xff characters in the values. This no longer occurs. However, the fix requires that you dump and reload any tables that have ENUM columns containing true 0xff in their values: Dump the tables using mysqldump with the current server before upgrading from a version of MySQL 5.0 older than 5.0.36 to version 5.0.36 or newer.
Где вообще, нормальный ман по типам данных посмотреть применительно к mysql 5?
Нормальный мануал http://dev.mysql.com/doc/refman/5.0/en/data-types.html
И раз такие пироги пошли, стоит прочитать еще http://dev.mysql.com/doc/refman/5.0/en/upgrade.html
 

tf

крылья рулят
А чем поле enum провинилось. Тоже не работает из php.
Дает ошибку синтаксиса.
Хотя при вводе тех же данных через phpmyadmin все сохраняется нормально.
тебе злится если надо то только на себя
у тебя ни нормального описания проблемы, ни как ты их решал
так что пиво подогрей и оставь себе
 
Первую проблему временно решил, грубо убрав атрибуты 3,2 - работает пока и хорошо.

С проблемой 2 - поле ENUM - не могу справиться.
Рекомендация сделать дамп, восстановить и перезагрузить таблицу не работает.
При восстановлении из дампа получаю ошибку 1604 ошибка синтаксиса. Мне что, вручную таблицу править?
 

alpine

Новичок
При восстановлении из дампа получаю ошибку 1604 ошибка синтаксиса.
Код ошибки 1604 - это не ошибка синтаксиса. Из документации это ошибка сервера - не могу открыть таблицу для инициализации(Cannot open table for trigger). Причем для версии 5.1 :)
 

alpine

Новичок
Эдуард
Приведи строку с ошибкой из дампа.

-~{}~ 26.08.07 14:57:

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

Исправил. Спасибо...
 
Сверху