即使删除表中的所有行仍继续。它从最后插入的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....')
});
});
这是MySQL的正常行为,通常是有意的,因此即使删除了记录,也永远不会重复使用ID。
如果您确实需要重置自动递增计数器,则可以:
TRUNCATE TABLE users
一次清空整个表格DROP TABLE users
/ CREATE TABLE users ...
拖放并重新创建表>ALTER TABLE users AUTO_INCREMENT = 1
;另请参阅https://www.mysqltutorial.org/mysql-reset-auto-increment/
您已将auto_increment_increment系统变量从默认值1
增加到10
。它的作用域是Global,Session