Я удалил столбец в таблице, используя ALTER TABLE
. Я не понимал, что к нему прилагается ограничение. Теперь ограничение также удалено. Как добавить ограничение обратно? Я не знаю точной формулировки этого ограничения. Кроме того, таблица была пустой, поэтому в тот момент я подумал, что колонка никогда не будет заполнена и удалена.столбец удален, теперь хочу добавить ограничение обратно
Вот таблица CREATE запрос в pgadmin3:
CREATE TABLE employee_grade
(
id uuid NOT NULL DEFAULT uuid_generate_v4(),
graded_to uuid,
grade character varying(10),
graded_by uuid,
grade_date timestamp with time zone,
grade_month timestamp with time zone,
CONSTRAINT employee_grade_pkey PRIMARY KEY (id),
CONSTRAINT employee_grade_by_fk FOREIGN KEY (graded_by)
REFERENCES employee (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT employee_grade_to_fk FOREIGN KEY (graded_to)
REFERENCES employee (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
Я не знаю, что такое ограничение было, но я знаю, что он участвует в graded_by
и graded_to
внешние ключи, и grade_month
колонку. Это было также уникально. Вероятно, это означало, что в этом месяце graded_by
оценил graded_to
, и не должно быть двух градаций в том же месяце для тех же двух сотрудников.
Кроме того, если это помогает, соответствующий объект Java не имеет соответствующего столбца gradeMonth
.
В будущем сделайте резервную копию с помощью 'pg_dump' и запустите опасные команды внутри транзакции. –
@ DanielLyons Хорошо. Спасибо. – cst1992
@a_horse_with_no_name Исправлено, спасибо. – cst1992