· 8 years ago · Aug 12, 2018, 07:18 AM
1Insert on duplicate key causing problems in auto increment field
2CREATE TABLE IF NOT EXISTS `foo` (
3 `foo_id` INT NOT NULL AUTO_INCREMENT ,
4 `unique` CHAR(255) NULL ,
5 `not_unique` CHAR(255) NULL ,
6 PRIMARY KEY (`foo_id`) ,
7 UNIQUE INDEX `unique_UNIQUE` (`unique` ASC) )
8ENGINE = InnoDB;
9
10INSERT INTO foo (`unique`,`not_unique`) VALUES ('John','Doe')
11 ON DUPLICATE KEY UPDATE `foo_id`=LAST_INSERT_ID(`foo_id`);
12
13SELECT LAST_INSERT_ID();
14
15INSERT INTO foo (`unique`,`not_unique`) VALUES ('John','Doe')
16 ON DUPLICATE KEY UPDATE `foo_id`=LAST_INSERT_ID(`foo_id`);
17
18SELECT LAST_INSERT_ID();
19
20INSERT INTO foo (`unique`,`not_unique`) VALUES ('Jane','Doe')
21 ON DUPLICATE KEY UPDATE `foo_id`=LAST_INSERT_ID(`foo_id`);
22
23SELECT LAST_INSERT_ID();