powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подскажите пожалуйста
6 сообщений из 6, страница 1 из 1
Подскажите пожалуйста
    #33042223
Little_Cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста, как можно сделать аналог MySQL комманды INSERT IGNORE
Дело в том, что заполняется база данных измерений технологической линии в таком порядке.

таблица текущей даты
|
|
таблица времен записи для текущей даты
/ | \
Табл1 Табл2 Табл3

Табл1=Табл2=Табл3 по колву полей и названию полей
Так вот в MySQL это делаеться так

INSERT IGNORE INTO (таблица текущей даты) VALUES ();
потом для времени
INSER DELAYED INTO ( таблица времен записи для текущей даты) VALUES (,,,,
(SELECT MAX(id) FROM (таблица текущей даты) ))
Так вот при вставке в табл. текущей даты вставка не производиться если дата совпадает. Поле даты - уникально и автоинкремент id не изменяються.
Как это можно сделать на Postgres
...
Рейтинг: 0 / 0
Подскажите пожалуйста
    #33043002
mwolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ммм.
Не совсем понятно, что присходит в системе - что куда пишется, какие где ключи и зачем приходится юзать IGNORE.
В Постгресе нельзя вставлять дублированый уникальный ключ не получив при этом ошибки нет. Способа обойти это, как в МайСКЛе, я тоже не знаю.
Можно поподробнее об задаче? Ибо это, скорее всего, можно разрулить по-другому.
...
Рейтинг: 0 / 0
Подскажите пожалуйста
    #33043351
Little_Cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гм. Записывается сначала дата, для которой существует одна запись в сутки.
Для этой даты, точнее ее уникального идентификатора записываются времена измерений каждые 15 минут
допустим

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
      Таблица дат
        id        date
         1         2005-02-02

            
              Таблица времен
        id         time           date_id
         1         10:00:00       1
         2         10:15:00       1
         3         10:30:00       1

Остальные таблицы предназначены для архивирования самих данных 4 одинаковых устройст.
     Device1 = Device2=Device3=Device4

id_time    Field1  Field2 .... FieldX  id_date
 1           212     1212        1212    1
 2           232     343          3434    1
Вся фишка в том, что данные пишутся в базу всем скопом из ОПС сервера. И существует необходимость вытаскивать их произвольно. То есть
select DEvice1.Field1,Device2.Field2,Device2.Field6 ну и так далее. Кол-во полей в запросе определяется произвольно из древовидной структуры в визуализации. Именно по этой причине - 4 отдельные таблицы.
Вот для Мускеля я писал данные в базу каждые 15 минут, зная, что уникальность даты останется неизменной, пока эта самая дата не изменится. А как быть с Постгресом???
...
Рейтинг: 0 / 0
Подскажите пожалуйста
    #33043539
mwolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему бы не заюзать тип timestamp?
...
Рейтинг: 0 / 0
Подскажите пожалуйста
    #33045624
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
INSERT INTO (таблица текущей даты) SELECT
(SELECT {новая дата} AS "дата") AS q LEFT JOIN (таблица текущей даты) as t USING ("дата") WHERE "t"."дата"
...
Рейтинг: 0 / 0
Подскажите пожалуйста
    #33045632
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
че то наподобь:

INSERT INTO (таблица текущей даты) ("дата")
SELECT "дата" FROM
(SELECT {новая дата} AS "дата") AS q LEFT JOIN (таблица текущей даты) as t USING ("дата") WHERE "t"."дата" IS NULL

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


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