MySQL 查询值 Math.random 每次都给出相同的数字

时间:2021-04-23 22:33:35

标签: javascript mysql

我正在尝试制作一个随机跟踪号并将其插入到我的数据库中,如下所示:

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 中。

0 个答案:

没有答案
相关问题