我正在尝试制作一个随机跟踪号并将其插入到我的数据库中,如下所示:
db.query('INSERT INTO orders SET ?', {tracking_number: Math.round(Math.random()* 100000000000 * Math.random()), order_date: date, ship_method: defaultShippingMethod, number_of_products: numberOfProducts}, (error, results) => {
if(error) {
console.log(error);
return next();
} else {
return next();
}
});
但是如果我尝试使用这样的变量:
let trackingNum = Math.round(Math.random()* 100000000000 * Math.random())
db.query('INSERT INTO orders SET ?', {tracking_number: trackingNum, order_date: date, ship_method: defaultShippingMethod, number_of_products: numberOfProducts}, (error, results) => {
if(error) {
console.log(error);
return next();
} else {
return next();
}
});
每次插入我数据库的数字都是2147483647。
我不知道发生了什么
编辑:数字太大了。似乎 2147483647 是 mysql 中 INT 或类似内容的最大范围。要么减少随机 val 乘以的数字,要么将值存储在 VARCHAR 中。