LINUX.ORG.RU

INSERT INTO с условием.

 


0

1

Доброй ночи!
Мне нужно добавить новую запись в бд (одним sql запросом), в том случае, если аналогичной записи в бд ещё нету.
Как это сделать?



Таблица такая
Название таблицы: Users
Столбец 1: id
Столбец 2: number

Например в таблице уже есть запись

id = 5;
number = 100;

Мне нужно, чтоб при попытке вставки записи
id = 5
number = 100;
Вставка данных не произошла. А при значении number = 101 , новая строка была записана в таблицу Users
И в таблице, уже были 2 записи.

Deleted

Мне кажется, что если ты столкнулся с такой задачей, значит, незадолго до этого ты все сделал неправильно.

По теме: самое простое решение IMHO - хранимая процедура. Ну и заодно субд не мешало бы указать.

А вообще, объявляешь (id, number) как Primary Key, этого должно быть достаточно для решения твоей задачи

slyjoeh ★★★★
()
Последнее исправление: slyjoeh (всего исправлений: 1)
Ответ на: комментарий от Deleted

Насчёт Primary Key что-то я об этом не подумал, спасибо.

Когда закончишь думать об Primary Key - подумай ещё об unique constraints и о том, зачем тебе вообще нужен ID в таблице. Вобщем подумай о разном.

anonymous
()

В оракле и TimesTen - смотри на MERGE

vromanov ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.