我有一些表有一些列,其中一个名为student_id
有自动增量和主键。
但我的问题是当我从另一个表中添加任何值时会自动生成一些ID
更清楚:我的字段student_id
的值为1 2 3 4 5
但是当我添加新值时,它从15和16开始,依此类推。
是否有任何缓存或类似的东西?
我正在使用:
INSERT INTO student(first_name,school_id,class_id,stage_id,grade_id)
SELECT first_name, 1,1,1,1 FROM `TABLE 13`
表13有:
first_name(varchar)
student
有:
student_id(INT)主键AUTOIncrement
答案 0 :(得分:1)
MySQL始终从该字段中的最高值自动递增,即使该记录已被删除或更改。如果您希望ID从1开始,请使用此命令(如@mihai在评论中所述):
ALTER TABLE tablename AUTO_INCREMENT = 1
还要考虑一下为什么要从ID开始.1。您是否正在编写软件以依赖所有ID连续且从1开始?这是一个坏主意 - 如果学生以后辍学怎么办?
答案 1 :(得分:0)
尝试这个....如果它适合你的问题,不要忘记检查它.....
CREATE TABLE `student` (
`first_name` VARCHAR(50) NULL DEFAULT NULL,
`school_id` INT(11) NOT NULL AUTO_INCREMENT,
`class_id` INT(11) NOT NULL,
`stage_id` INT(11) NOT NULL,
`grade_id` INT(11) NOT NULL,
PRIMARY KEY (`school_id`)
)