Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

MYSQL запрос с условием [D7, MySQL]


malyar ©   (2007-02-19 20:49:00) 

подскажите
как будет выглядеть запрос на добавление записи в таблицу
тока в том случаее если такой записи еще не существует

пример:
в таблице из двух полей (F1 и F2) есть записи

F1  |   F2
----------
n1      v1
n2      v2
n3      v3

нужно добавить новую запись тока тогда, когда
значение для поля F1  у новой записи еще нет в таблице.
Значения в полях не уникальны.


newby   (2007-02-21 15:27:00) [1]

добавлю свои 2 копейки, может поможет :)
у mysql есть интересная опция IGNORE:
INSERT IGNORE INTO ...


sniknik   (2007-02-19 23:14:00) [2]

> в таблице должно быть хоть одно поле...
оговорился, не поле, запись. т.е. чтобы таблица не была пустой.


sniknik   (2007-02-19 23:11:00) [3]

для access (не позволяет пакеты комманд. MySQL тоже?) это могло бы выглядеть так

INSERT INTO FF (F1,F2)
SELECT TOP 1 'n4' AS F1,'v4' AS F2 FROM FF WHERE (SELECT TOP 1 true FROM FF WHERE F1='n4') IS NULL

тут только одно ограничение, в таблице должно быть хоть одно поле... или использовать другую таблицу подстановки ту где хотя бы одно гарантированно есть (проверки естественно оставить на основной).
вот как это для MySQL переделать... х.з. ;(

palva ©   (19.02.07 22:22) [2]
> Сделать поле F1 уникальным. ...
раз у него значения поля уже неуникальны, поздно. либо с потерей данных.


palva   (2007-02-19 22:22:00) [4]

Сделать поле F1 уникальным. Тогда при попытке добавления повторяющегося значения будет возникать ошибка, которую перехватывать и обрабатывать.


Johnmen   (2007-02-19 21:36:00) [5]


> как будет выглядеть запрос на добавление записи в таблицутока
> в том случаее если такой записи еще не существует

Никак.


Наверх

Титульная страница Поиск, карта сайта Написать письмо