Я создал две таблицы с использованием моделей Django, и сценарии выглядят примерно так
Я использую рабочую таблицу PostgreSQL 10
:
CREATE TABLE public.foods_food(
id integer NOT NULL DEFAULT nextval('foods_food_id_seq'::regclass),
code character varying(100) COLLATE pg_catalog."default",
product_name character varying(255) COLLATE pg_catalog."default",
brands character varying(255) COLLATE pg_catalog."default",
quantity character varying(255) COLLATE pg_catalog."default",
last_modified_datetime timestamp with time zone NOT NULL,
created_at timestamp with time zone NOT NULL
)
промежуточная таблица:
CREATE TABLE public.foods_temp(
id integer NOT NULL DEFAULT nextval('foods_temp_id_seq'::regclass),
code character varying(100) COLLATE pg_catalog."default",
product_name character varying(255) COLLATE pg_catalog."default",
)
Я скопировал файл CSV в промежуточную таблицу, а затем попытался скопировать столбцы из промежуточной таблицы в рабочую таблицу, используя следующий запрос.
INSERT INTO foods_food
SELECT * FROM foods_temp;
Но я получилэта ошибка.
ERROR: null value in column "created_at" violates not-null constraint
Я могу задать для столбца created_at
принятие пустого значения, чтобы заставить его работать, но я хочу, чтобы значения created_at
автоматически заполнялись при вставке записей.
Есть ли другой способ скопировать столбцы в рабочую таблицу и автоматически вставить метку времени?