Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Уникальное значение. / 5 сообщений из 5, страница 1 из 1
12.07.2011, 13:23
    #37347768
afghanetz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальное значение.
Приветствую, гуру!
Подскажите как решить следующую проблему?
Есть таблица:
Код: plaintext
1.
2.
3.
CREATE TABLE [source_data] (
  [Unix_time] varchar( 15 ) [color=red]CONSTRAINT [UNIQ_UNIX] UNIQUE ON CONFLICT REPLACE[/color] DEFAULT ( 0 ), 
  [Local_time_event] DATETEXT( 20 ) DEFAULT ('12.12.2011 12:22:22'), 
  [Lat] varchar( 15 ) DEFAULT ( 0 ))

Стоит такая задача: если при добавлении записи в таблицу строка с колонкой UNIX_TIME уже существует, то эту строку не добавлять или просто обновить.

То, что выделено красным - является решением проблемы ? Или есть смысл писать триггер ?

До того как ввёл CONSTRAINT, мне показывало 24000 строк по запросу ... count(unix_time), после ввода CONSTRAINT показывает 19000 строк
...
Рейтинг: 0 / 0
12.07.2011, 13:30
    #37347784
afghanetz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальное значение.
afghanetzCONSTRAINT [UNIQ_UNIX] UNIQUE ON CONFLICT REPLACE
То, что выделено красным - является решением проблемы ? Или есть смысл писать триггер ?
Под "красным" имелось ввиду это - почему-то не прокатил тег (
...
Рейтинг: 0 / 0
12.07.2011, 13:35
    #37347803
afghanetz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальное значение.
Это бред ?)

Код: plaintext
1.
2.
3.
4.
create or replace trigger 353976014422137_21.UNIQ_UNIX update of UNIX_TIME on SOURCE_DATA
	before insert on SOURCE_DATA for each row
BEGIN
	update SOURCE_DATA set = new.UNIX_TIME where UNIX_TIME=old.UNIX_TIME
END;
...
Рейтинг: 0 / 0
12.07.2011, 13:55
    #37347838
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальное значение.
...
Рейтинг: 0 / 0
12.07.2011, 14:21
    #37347921
afghanetz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальное значение.
Dmitry Arefiev,
спасибо. собственно проверял запросом

SELECT * FROM source_data a
WHERE EXISTS
(SELECT count(*) FROM source_data b WHERE a.unix_time=b.unix_time
GROUP BY unix_time HAVING count(*)>1)
ORDER BY a.unix_time

Дублей не выводит )
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Уникальное значение. / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]