SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 09.02.2015 15:13:04

MUXAH
Участник
Зарегистрирован: 09.02.2015
Сообщений: 1

insert replace unique что выбрать

Привет!

Стоит следующая задача

Из источника периодически приходит ряд цифр

они записываются в базу

1.    10
2.    212
3.    1
и т.д.

но бывают случаи когда цифры совпадают или их меньше чем 3 или больше.

Нужно
а) записать в базу не дублируя записи
б) если цифр пришло больше чем в базе, то создавать новые
в) если меньше, то удалять лишние

Все было бы просто - чистил бы таблицу перед инсертом, но каждое новое уникальное значение должно помещаться в другую таблицу (ну например отправка на почту)

Может к кого был подобный экспириенС?

Неактивен

 

#2 09.02.2015 18:10:45

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: insert replace unique что выбрать

имхо
create table new
insert into new
select new.* from new left join old using(val) where old.val is null; -- определяем новые уникальные значения
drop table old
rename new to old

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson