MySQL數據庫中,每一個表都有一個唯一標識符——ID。當插入一條新記錄時,這個ID會自動賦值為1,然后每插入一條記錄,ID就會自動增加。
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
如上述代碼所示,在創建表時,可以使用“AUTO_INCREMENT=1”來指定ID從1開始自動增長。并且在插入記錄時,不需要為ID字段指定具體值,MySQL會自動分配對應的ID。
但是,如果在插入記錄時指定了ID,MySQL會按照指定的ID插入記錄。如果指定ID已經被使用,那么插入記錄將失敗。
INSERT INTO `user` (`id`, `name`, `age`) VALUES (1, '張三', 22);
需要注意的是,當刪除記錄時,ID并不會自動重置。也就是說,如果一個表在開始時插入了10條記錄,它們的ID將從1到10。如果后來刪除了ID為5的記錄,那么下一個插入的記錄ID將是11,而不是6。
因此,在使用MySQL數據庫時,需要注意自增ID的使用,避免出現多余的ID或者ID沖突的問題。