Инкремент первичного ключа для дубликатов - MySQL

Узнай цену своей работы

Формулировка задачи:

CREATE TABLE IF NOT EXISTS `tbl1` (
  `ID` INT(11) NOT NULL AUTO_INCREMENT,
  `col1` INT(11) NOT NULL,
  `col2` INT(11) NOT NULL,
  PRIMARY KEY (`ID`),
  UNIQUE KEY `UKEY` (`col1`,`col2`)
)
Если сделать запрос, с данными содержащими в таблице:
INSERT INTO tbl1 (`col1`,`col2`) VALUE(1,1)
Возникает ошибка: 1062 Duplicate entry и AUTO_INCREMENT увеличивается. Как сделать чтобы AUTO_INCREMENT не прибавляло?
При добавлении новой записи ID содержит неправильное значение.
INSERT INTO tbl1 (`ID`,`col1`,`col2`) VALUE((SELECT MAX(ID)+1 FROM `tbl1` AS maxid),30,9)
Возможно другое решение?

Решение задачи: «Инкремент первичного ключа для дубликатов»

textual
Листинг программы
INSERT INTO `tbl1` (`ID`,`col1`,`col2`) VALUE(
(SELECT AUTO_INCREMENT FROM information_schema.tables 
WHERE TABLE_NAME = 'tbl1' AND table_schema=DATABASE())
,1,1)

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

10   голосов , оценка 3.8 из 5