powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Работа с таблицей, созданной через liquibase createTable.
5 сообщений из 5, страница 1 из 1
Работа с таблицей, созданной через liquibase createTable.
    #38734771
Ната71
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,
у меня создается таблица через liquibase createTable.
Структура таблицы в PGAdmin выглядит следующим образом
CREATE TABLE contract
(
uuid character varying(32),
isbudget integer,
kbk character varying(20),
contract character varying(32),
year integer
)
WITH (
OIDS=FALSE
);
ALTER TABLE contract
OWNER TO pg;

При выполнении
insert into contract(uuid, contarct) values('1','1')

выдается ошибка:
ERROR: null value in column "year" violates not-null constraint
SQL-состояние: 23502
Подробности: Failing row contains (1, null, null, 1, null).

Не могу понять причину.
...
Рейтинг: 0 / 0
Работа с таблицей, созданной через liquibase createTable.
    #38734810
Фотография SmeL_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ната71,
Код: sql
1.
insert into contract(uuid, contarct) values('1','1')

у Вас нет поля contarct, и по идеи ошибка должна быть другой. Какой тайный замысел называть поле также как и таблицу?
...
Рейтинг: 0 / 0
Работа с таблицей, созданной через liquibase createTable.
    #38734818
Ната71
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SmeL_md,

таблица в реальности значительно более замысловатой структуры. Для простоты я ее сократила и изменила некоторые названия полей, так как на предмет самого вопроса это никак не влияет.

insert into contract(uuid, contract) values('1','1')
...
Рейтинг: 0 / 0
Работа с таблицей, созданной через liquibase createTable.
    #38734830
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ната71SmeL_md,

таблица в реальности значительно более замысловатой структуры. Для простоты я ее сократила и изменила некоторые названия полей, так как на предмет самого вопроса это никак не влияет.

insert into contract(uuid, contract) values('1','1')и какая тут, нах, простота ?
вы уж давайте как есть, а то ж

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
BEGIN;
CREATE TABLE contract
(
uuid character varying(32),
isbudget integer,
kbk character varying(20),
contract character varying(32),
year integer -- NOT NULL
)
WITH (
OIDS=FALSE
);


insert into contract(uuid, contract) values('1','1');
SELECT * FROM contract;
--"1";;"";"1";
rollback;


и никаких ошибок.

--ЧЯДНТ ?

да, если непонятный liquibase -- некая шняжка , и вы и вставляете через неё , то надо посмотреть, нет ли у этой шняжки своей встроенной валидации. Пока же я вижу ругательство на NOT NULL условие в колонке "year", которого в вашем "упрощённом" варианте нет. // SQLSTATE 23502
...
Рейтинг: 0 / 0
Работа с таблицей, созданной через liquibase createTable.
    #38735208
Ната71
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос снимается. Ошибка найдена, более, чем дурацкая. Я забыла указать имя схемы (таблица не в схеме public).
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Работа с таблицей, созданной через liquibase createTable.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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