Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.13;
Скачать: CL | DM;

Вниз

MYSQL запрос с условием   Найти похожие ветки 

 
malyar   (2007-02-19 20:49) [0]

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

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

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

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


 
Johnmen ©   (2007-02-19 21:36) [1]


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

Никак.


 
palva ©   (2007-02-19 22:22) [2]

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


 
sniknik ©   (2007-02-19 23:11) [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 уникальным. ...
раз у него значения поля уже неуникальны, поздно. либо с потерей данных.


 
sniknik ©   (2007-02-19 23:14) [4]

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2007.05.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.053 c
2-1177130069
dmdel
2007-04-21 08:34
2007.05.13
OleContainer


2-1176873977
Lewka
2007-04-18 09:26
2007.05.13
подключение Базы MS Access


3-1172565807
Megabyte
2007-02-27 11:43
2007.05.13
Получение разницы между датой/временем


2-1176714827
MVA`
2007-04-16 13:13
2007.05.13
Jpeg


2-1177236933
derrini
2007-04-22 14:15
2007.05.13
Отправка запросов в веб