Я пытаюсь написать запрос SQL UPDATE для уменьшения некоторого значения в моей таблице с именем users
. Ниже CREATE TABLE
скрипт для users
таблицыmysql update query не работает с большими номерами
CREATE TABLE users
(
user_id int(11) NOT NULL AUTO_INCREMENT,
username varchar(60) NOT NULL,
email varchar(60) NOT NULL,
password varchar(255) NOT NULL,
money float NOT NULL,
PRIMARY KEY (user_id)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
Я использую следующий запрос:
UPDATE users SET money = money - 1000 WHERE user_id = 1;
Это работает нормально.
но когда значение «деньги» является большим числом (например, 33550400000), оно просто ничего не делает. Когда я вручную выполняю запрос в phpMyAdmin, он печатает 0 rows affected. (Query took 0.0003 seconds.)
Как я могу заставить его работать с большими номерами?
может быть типа данных оленьей кожи справиться с этим большим значением –
поплавком является очень плохим выбором для денег. – jarlh
@jarlh, так что я должен использовать вместо float? –