Когда я создаю ПРАВИЛО обновления рядом с предложением CONFLICT, возникает ошибка.
Здесь мой код конфликта
insert_query = "INSERT INTO my_company (id, name, login, logout) VALUES %s\
ON CONFLICT (id) DO NOTHING"
мое обновление RULE
CREATE RULE log_shoelace AS ON UPDATE TO my_company
WHERE NEW.login <> OLD.login or NEW.logout <> OLD.logout
DO INSERT INTO my_company VALUES (
new.id, new.name, new.login, new.logout, new.interval_time, current_date);
Поле таблицы my_company содержит идентификатор, имя, логин.logout, interval_time, today.
если какие-либо данные обновляются, вставьте эти данные в ту же таблицу.Но здесь я не могу использовать CONFLICT и RULE одновременно.Так что в этом случае, что я могу сделать?
Спасибо.
Создание таблицы и создание последовательности для тестирования:
CREATE SEQUENCE IF NOT EXISTS my_company_id_seq;
CREATE TABLE public.my_company
( id integer NOT NULL DEFAULT nextval('my_company_id_seq'::regclass)
, name character varying(50)
, login time without time zone
, logout time without time zone
, interval_time time without time zone
, today date DEFAULT CURRENT_DATE
, CONSTRAINT my_company_pkey PRIMARY KEY (id)
);