Как проверять существует ли такое значение в базе данных mysql

Всем привет, у меня такая задачка: Допустим у меня есть ID 10 и есть поля со значениями KPID (int) в базе, мне нужно проверять есть ли 10 в базе KPID Если нет то KPID будет 10 если есть 11, 12, 13... Но есть еще одна загвоздка, нужно считать не с последнего значение в базе KPID, нужно именно чтобы так скажем отсчет начинался с 10, есть: 10, 12, 13, 14, 15 тут нету 11, значит нам нужно задать KPID 11 вместо 15+... Надеюсь правильно обьяснился, всем спасибо заранее, жду ваших версий :)


Ответы (1 шт):

Автор решения: Сергей

Переформулируем сложно описанную задачу.

Есть у нас некий ID со значением int. Есть БД, а там - некое единственное "поле" (столбец, вероятно, если по ANSI) KPID. Если в этом стобце есть значение, равное ID, то надо добавить еще кортеж со значением, равным первому отсутствующему, начиная со значения ID.

Проверять существование (задача, поставленная в заголовке) просто:

SELECT MIN (KPID)
FROM имя таблицы 
WHERE KPID >= ID;

На выходе будет минимальное значение, равное или большее ID. Если равно, значит - есть ID, если больше - значит, нет ID в БД.

→ Ссылка