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

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

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

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

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

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

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут