У меня есть таблица в PostgreSQL, и один из столбцов имеет значение по умолчанию.
DDL таблицы:
CREATE TABLE public.my_table_name
(int_column_1 character varying(6) NOT NULL,
text_column_1 character varying(20) NOT NULL,
text_column_2 character varying(15) NOT NULL,
default_column numeric(10,7) NOT NULL DEFAULT 0.1,
time_stamp_column date NOT NULL);
Я пытаюсь вставить несколько строк в один запрос. И в тех у меня есть несколько строк, для которых у меня есть значение для default_column
, и у меня есть несколько строк, для которых у меня нет никакого значения для default_column
и я хочу Postgres, чтобы использовать значение по умолчанию для этих строк.
Вот что я попробовал:
INSERT INTO "my_table_name"(int_column_1, text_column_1, text_column_2, default_column, time_stamp_column)
VALUES
(91,'text_row_11','text_row_21',8,current_timestamp),
(91,'text_row_12','text_row_22',,current_timestamp),
(91,'text_row_13','text_row_23',19,current_timestamp),
(91,'text_row_14','text_row_24',,current_timestamp),
(91,'text_row_15','text_row_25',27,current_timestamp);
это дает мне ошибку. Итак, когда я пытаюсь вставить:
INSERT INTO "my_table_name"(int_column_1, text_column_1, text_column_2, default_column, time_stamp_column)
VALUES (91,'text_row_12','text_row_22',,current_timestamp), -- i want null to be appended here, so i left it empty.
--error from this query is: ERROR: syntax error at or near ","
и
INSERT INTO "my_table_name"(int_column_1, text_column_1, text_column_2, default_column, time_stamp_column)
VALUES (91,'text_row_14','text_row_24',NULL,current_timestamp),
-- error from this query is: ERROR: new row for relation "glycemicindxdir" violates check constraint "food_item_check"
Итак, как мне это исправить; И вставить значение, когда у меня есть или Postgres вставить значение по умолчанию, когда у меня нет значения?