arbeite ich an einer PostgreSQL-Datenbank auf Integer, und ich habe ein Problem aufgetreten:postgresql Fremdschlüssel integer [] bezieht sich
Ich möchte eine Tabelle Antragsteller mit einer Spalte categories_ids erstellen (das bedeutet, dass ein Antragsteller mehrere haben kann Kategorien) und ich möchte eine Fremdschlüsseleinschränkung zwischen dieser Spalte und der Spalten-ID der Kategorietabelle erstellen. Aber pgAdmin sagt, dass ist unmöglich:
foreign key constraint "fk_categories_ids" cannot be implemented
DÉTAIL : Key columns "categories_ids" and "id" are of incompatible types: integer[] and integer.
EDIT 1:
CREATE TABLE public.applicants
(
-- Hérité(e) from table users: id integer NOT NULL DEFAULT nextval('users_id_seq'::regclass),
-- Hérité(e) from table users: email character(60) NOT NULL,
-- Hérité(e) from table users: "firstName" character(50) NOT NULL,
-- Hérité(e) from table users: "lastName" character(50) NOT NULL,
-- Hérité(e) from table users: password character(50) NOT NULL,
-- Hérité(e) from table users: role_id integer NOT NULL DEFAULT nextval('users_role_id_seq'::regclass),
home boolean NOT NULL,
"fullTime" boolean,
"partTime" boolean NOT NULL,
freelance boolean NOT NULL,
internship boolean NOT NULL,
"minSalary" integer,
domain_id integer,
categories_ids integer[],
skills_ids integer[],
locations_ids integer[],
"jobExperiences_ids" integer[],
CONSTRAINT pk_applicant_id PRIMARY KEY (id),
CONSTRAINT fk_domain_id FOREIGN KEY (domain_id)
REFERENCES public.domains (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
INHERITS (public.users)
WITH (
OIDS=FALSE
);
Dies wird einfach nicht unterstützt. Normalisieren Sie Ihr Datenmodell, dann können Sie einen korrekten Fremdschlüssel erstellen –
ja, aber ich weiß nicht, wie man dieses Verhalten modelliert Ich fange wirklich gerade an, an Datenbanken zu arbeiten Könnten Sie mir zeigen, wie ich tun könnte? –
Sie suchen eine "one-to-many Beziehung" in relationalem Design –