MySQL. Проблема с данными.

Osanve

Новичок
Здравствуйте.
Возник такой вопрос: Почему, независимо от того, какое значение вводится в поле price, в таблицу всегда записывается 99.99:
mysql> INSERT INTO books (ISBN, author, title, price, quantity) VALUES ('5-8459-0184-1', 'Oleg Divov', 'Simbionti', '350', '9');
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> SELECT * FROM books;
+---------------+------------+-----------+-------+----------+
| ISBN | author | title | price | quantity |
+---------------+------------+-----------+-------+----------+
| 5-8459-0184-8 | Oleg Divov | Simbionti | 99.99 | 5 |
| 5-8459-0184-9 | Oleg Divov | Simbionti | 99.99 | 5 |
| 5-8459-0184-1 | Oleg Divov | Simbionti | 99.99 | 9 |
+---------------+------------+-----------+-------+----------+
3 rows in set (0.00 sec)
Таблица создавалась так:
mysql> CREATE TABLE books(ISBN CHAR(13) NOT NULL, PRIMARY KEY(ISBN), author VARCHAR(30), title VARCHAR(60), price FLOAT(4, 2), quantity TINYINT UNSIGNED);
Query OK, 0 rows affected (0.10 sec)
Заранее спасибо.
 

Avron2

Новичок
У тебя поле FLOAT(4, 2), 4 - количество символов для отображения всего числа(целая часть, дробная частью и точка), а 2 - количество символов дробной части. Для отображения числа 350 нужно хотя бы FLOAT(6, 2). 350,00 - всего 6 чимволов.
 

Osanve

Новичок
Спасибо. В этом и была ошибка. Просто на сайте, с которого был пример, таблица создается именно так, при этом значение передается 129.
 
Сверху