периодически обнаруживаю что 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 нет
у меня мария там есть
Обсуждают сегодня