Autoincrement Verhalten in MySQL
Immer wieder mal stolpere ich über die Frage wie verhält sich das MySQL Autoincrement bei bereits belegten PK IDs.
CREATE TABLE `testab`
(
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1;INSERT INTO `testab` (`name`) VALUES (’blub’);
INSERT INTO `testab` (`id`,`name`) VALUES (9,’9bsdwldub’);
INSERT INTO `testab` (,`name`) VALUES (’blub’); (’2′blub’);
Der letzte insert hat den PK 10 d.h. MySQL (wie auch Oracle) füllt mitnichten Lücken auf!
Ebenso muß mann sich bei MySQL nicht darum scheren ob eine ID schon belegt ist – diese wird dann beim insert übersprungen, das allerdings geht mit Sequenzen wie sie Oracle verwendet natürlich nicht.
Eine Sorge weniger…
Superb blog! Do you have any tips for aspiring writers? I’m planning to start my own site soon but I’m a little lost on everything. Would you suggest starting with a free platform like Wordpress or go for a paid option? There are so many choices out there that I’m totally overwhelmed .. Any ideas? Appreciate it!