【发布时间】:2018-02-08 11:39:14
【问题描述】:
我有一个将值存储在 mysql 数据库中的 bash 脚本。对于一个值,我得到一个错误 1264 (22003)。
脚本中的行:
INSERT INTO $TABLE2 (datetime, actualtemp, tempstate) VALUES ("$datetime", "$actual_temp", "$set_temp_state");
$actual_temp = 21.0 的值
列 'actualtemp' 的类型为 DECIMAL,值/长度为 2,1
错误:
ERROR 1264 (22003) at line 2: Out of range value for column 'actualtemp' at row 1
我有一个类似的行:INSERT INTO $TABLE1 (datetime, temperature) VALUES ("$datetime", "$temp"); 其中$temp = 2.2 和列temperature 也是十进制值/长度为2,1。这条线工作正常。
完整脚本:
mysql $DB_NAME << EOF
INSERT INTO $TABLE1 (datetime, temperature) VALUES ("$datetime", "$temp");
INSERT INTO $TABLE2 (datetime, actualtemp, tempstate) VALUES ("$datetime", "$actual_temp", "$set_temp_state");
EOF
21.0 应该是 DECIMAL 2,1 的正确值,还是我错了?
【问题讨论】: