如何在MySQL表中“重置”id

时间:2017-04-08 11:43:17

标签: mysql

我已经为用户创建了一个数据库,每个用户都有一个自动增加的ID。但是当我从表中删除用户时,id不会“重置”:

enter image description here

我该如何解决这个问题?感谢

3 个答案:

答案 0 :(得分:2)

您需要运行更新查询。

SET @reset = 0; UPDATE YOUR_TABLE_NAME SET id = @reset:= @reset + 1;

答案 1 :(得分:1)

你不解决这个问题。数据库正在完全完成它的设计目的。正如AUTO_INCREMENT app.get('/manualBufferAnother', function (req, res, next) { var filePath = path.join(__dirname, 'Koala.jpg'); console.log("FilePath is: "+filePath); var fileName = path.basename(filePath); var mimeType = mime.lookup(filePath); var stat = fs.statSync(filePath); res.writeHead(200, { "Content-Type": mimeType, "Content-Disposition" : "attachment; filename=" + fileName, 'connection': 'keep-alive', "Content-Length": stat.size, "Transfer-Encoding": "chunked" }); fs.open(filePath, 'r', function(err, fd) { var completeBufferSize = stat.size; var offset = 0; //is the offset in the buffer to start writing at var length = 511; //is an integer specifying the number of bytes to read var position = 0; //is an integer specifying where to begin reading from in the file. If position is null, data will be read from the current file position var buffer = new Buffer(completeBufferSize); buf(res,fd,offset,position,length,buffer,stat); }); }); var buf = function(res,fd,offset,position,length,buffer,stat) { if(position+buffer.length < length) { fs.read(fd,buffer,offset,length,position,function(error,bytesRead,bufferr { res.write(bufferr.slice(0,bytesRead)); console.log("Bytes Read: "+bytesRead); position=position+bufferr.length; buf(res,fd,offset,position,length,bufferr,stat); }) } else { fs.read(fd,buffer,offset,length,position,function(error,bytesRead,bufferr) { console.log("Bytes Read in else: "+bytesRead); res.end(bufferr.slice(0,bytesRead)); fs.close(fd) }) } } 上的第一行所说:

  

AUTO_INCREMENT属性可用于生成唯一标识   对于新行。 。

注意:没有关于顺序性或没有间隙的内容。

自动递增的值旨在唯一标识每一行(以及其他内容)。一旦识别出一行,就不会改变。此标识符可供其他表(外键引用)使用。这个标识符可以被某人写下来记住id = 378有特殊的东西。

关键的想法是价值不随时间而变化。

此类标识符存在空白是没有问题的。如果你想

答案 2 :(得分:0)

您可以使用以下命令将自动增量计数器重置为下一个可用值:

alter table MYTABLE auto_increment = 0;

另见https://dev.mysql.com/doc/refman/5.7/en/alter-table.html