Инкремент первичного ключа для дубликатов - 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)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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