проверить есть ли запись в базе

zuxel

Новичок
проверить есть ли запись в базе

Здравствуйте. Подскажите, пожайлуста, как решить такую задачу: есть БД с товарами, периодически, раз в один-два дня туда добавляется 10-20 новых, но товары могут повторяться, т.е. перед добавлением надо проверять существует ли такой товар уже в базе. Каждый имеет уникальный номер.
Как лучше реализовать такую проверку? Всмысле, может вначале делать выборку номеров всех товаров в массив, а потом проверять есть ли уже номер в массиве, но БД в переспективе может быть очень большой - несколько тысяч записей. Реально ли сделать это средствами sql?
 

waldicom

Новичок
Если каждый товар имеет уникальный номер, то можно сделать в таблице поле "номер" как primary key
Затем, проверять можно просто выборкой из базы по заданному номеру, делается обычным селектом.
Также, большая база - это не на тысячи счет, а на > миллиона
Но что-то мне подсказывает, что вопрос из области "дай-ка пацанов разведу" или "а что такое база данных"
 

zuxel

Новичок
Автор оригинала: waldicom
Затем, проверять можно просто выборкой из базы по заданному номеру, делается обычным селектом.
всмысле, проходим по массиву новых товаров выполняя для каждого SELECT id FROM t WHERE id=номер.нового.товара
и смотрим вернула ли БД что-нибудь?

-~{}~ 05.12.08 04:40:

просто, точно не известно сколько новых товаров будет и сколько из них уже есть в базе( всмысле, число вроде не фиксированно ) их может быть 150, и новых всего 10, а может 20 и все новые. Ничего что столько запросов к БД получится?
 

zerkms

TDD infected
Команда форума
1. SELECT `id` WHERE `id` IN (1,2,3,4,5)
2. полученный массив - те id, которые есть
3. из исходного массива вычитаешь полученный
4. ????
5. PROFIT
 

С.

Продвинутый новичок
zuxel
их может быть 150, и новых всего 10, а может 20 и все новые. Ничего что столько запросов к БД получится?
Обычно база обрабатывает многия тысяща запросов в день. Если ты раз в месац к ним добавишь еще 10-20-150, то поверь база не развалится. Операции, которые производятся только раз от разу (как то добавление новых товаров), лучше делать как можно проще и нагляднее, без выпендрежа с производительностью.
 
Сверху