Как проверять существует ли такое значение в базе данных 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 в БД.