периодически обнаруживаю что id задвоенное
                  
                  
                  СREATE TABLE `c_record` (
                  
                  
                    `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
                  
                  
                    `created` datetime NOT NULL,
                  
                  
                    `session_id` varchar(64) NOT NULL,
                  
                  
                    PRIMARY KEY (`id`,`created`)
                  
                  
                   KEY `session_id` (`session_id`) 
                  
                  
                  ) ENGINE=InnoDB AUTO_INCREMENT=130740531 DEFAULT CHARSET=utf8
                  
                  
                   PARTITION BY RANGE (to_days(`created`))
                  
                  
                  (PARTITION `p2020_09` VALUES LESS THAN (738064) ENGINE = InnoDB,
                  
                  
                   PARTITION `p2020_10` VALUES LESS THAN (738095) ENGINE = InnoDB,
                  
                  
                   PARTITION `p2020_11` VALUES LESS THAN (738125) ENGINE = InnoDB)
                  
                  
                
У вас ПК из двух полей. Поэтому уникальность гарантируется только для сразу двух, но не одного из них.
да это понятно, но я думал что автоинкремент берется перед инсертом, увеличивается и отдается после инсерта. как мне быть не понимаю сейчас, нужно и инкремент оставить и партиции
А вставка записей всегда происходит без указания id ? Вы же можете где-то руками вставлять дублирующиеся значения.
всегда, но если я сам будут инкремент считать то я точно дублей навтыкаю, может мне секвенсес поможет ?
которого в mysql нет
у меня мария там есть
Обсуждают сегодня