mysql表的AUTO增量以而不是1的步长递增。例如41,51,61

问题描述 投票:-1回答:2

即使删除表中的所有行仍继续。它从最后插入的ID继续添加。我用它来创建我的表

app.get('/createuserstable', (req, res) => {
    let sql = 'CREATE TABLE Users(id int AUTO_INCREMENT, name VARCHAR(255), username VARCHAR(255), email VARCHAR(255), PRIMARY KEY (id))';
    db.query(sql, (err, result) => {
        if (err) throw err;
        console.log(result);
        res.send('Users table created....');
    });
});

为用户添加注册路由,并以10为步长递增

app.post('/signup', (req, res) => {
    let user = { name: req.body.name, username: req.body.username, email: req.body.email };
    db.query('INSERT INTO users SET?', user, (error, result) => {
        if (error) throw error;
        res.status(201).send(`User added with ID: ${result.insertId}`);
    });
});

这是用于JSON数据的10行的代码

app.get('/populate', (req, res) => {
    request({
        url: "http://jsonplaceholder.typicode.com/users",
        json: true
    }, (err, resp, body) => {
        //res.send(typeof body);
        for (var i = 0; i < body.length; i++) {

            let post = { id: body[i].id, name: body[i].name, username: body[i].username, email: body[i].email };
            let sql = 'INSERT INTO users SET?';
            let query = db.query(sql, post, (err, result) => {
                if (err) throw err;
                console.log(result);
            });
        };
        res.send('users data added....')
    });

});
javascript mysql sql node.js
2个回答
0
投票

这是MySQL的正常行为,通常是有意的,因此即使删除了记录,也永远不会重复使用ID。

如果您确实需要重置自动递增计数器,则可以:


0
投票

您已将auto_increment_increment系统变量从默认值1增加到10。它的作用域是Global,Session

© www.soinside.com 2019 - 2024. All rights reserved.