Здраствуйте. Возник вопрос: как в таблицу вставить дробовое значение, например: 0.6 Проблема в том, что значение просто округляется до целых. Как решить эту проблему?
Если MySQL, то тип столбца у таблицы задавай как decimal или если работаешь с деньгами то можно money.
@Виктор К. посмотри документацию, если в ней не разберёшься, то так и пиши, что конкретно не понятно и тут помогут.
Ну это да) Но я например не люблю в запросах считать, я все расчёты делаю в php, а из запроса вынимаю данные максимально, и стараюсь максимально хранить все данные в бд. Ну мелочь храню в массивах.
@askanim можно и в PHP считать, но производительность будет выше если хранить дробные цифры как decimal
Не спорю а лучше вообще, всё считать в js и отправлять потом уже числа в базу. Тогда производительность сервера будет ещё выше, тока валидацию настроить чтобы произвольные числа не пролитали... В сервак.
JS это только для красоты, всегда нужно перепроверять на PHP, а то денег накинут миллион на счёт, а ты только проверишь что это правильное число.
Говорю же, валидацию настроить, чтобы, не проходили произвольные числа. --- Добавлено --- Нет ну да ты прав, js только для марафета, конечно по производительности, может лучше и считать в базе, но если атм будут большие пересчёты, то сильная нагрузка на базу будет... Просто бд создано то с целью хранения... Да считать можно, но скорее я склоняюсь к тому что, счёт в бд нужен, если надо произвести какие то сортировки, итд.
тут всегда нужно упоминать о дублировании этой проверки на стороне сервера. Скорость в выборке, сортировке, индексах и размере данных. Для этого делают дробные как decimal. Считать не обязательно.
@askanim, простые арифметические операции, такие как MIN, MAX, SUM, AVG и т.п. лучше делать в запросе сразу. И потом, могут быть запросы, где потом этот sum будет участвовать в условии. Что-нибудь типа Код (Text): select id, (select sum(total) from order_item where order_item.order_id=`order`.id) order_total from `order` having order_total > 1000; C varchar так не получится