我在PostgreSQL中制作数据库,我需要一些帮助。
用户控件使用LDAP,我有一个名为modules
的表,其中我放置了有关系统模块的所有信息,
然后我创建了一个名为user_module
的表,其中我放置了用户名和引用模块的整数(在模块表中),在此表中,您可以添加/删除行,我想我不会'需要一个主要的钥匙或不是吗?
我使用的是PgAdmin III,它说"我只能查看此表中的数据,我需要创建一个主编进行编辑"
表格代码
CREATE TABLE public.adm_mod_usu
(
cusuario text NOT NULL,
cmodulo_det integer NOT NULL,
CONSTRAINT fk_adm_mod_usu_cmodulo_det FOREIGN KEY (cmodulo_det)
REFERENCES public.adm_mod_det (cmodulo_det) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT,
CONSTRAINT fk_adm_mod_usu_unique_cpermiso UNIQUE (cusuario, cpermiso)
USING INDEX TABLESPACE sistema_index
)
WITH (
OIDS=FALSE
);
ALTER TABLE public.adm_mod_usu
OWNER TO postgres;
GRANT ALL ON TABLE public.adm_mod_usu TO public;
GRANT ALL ON TABLE public.adm_mod_usu TO postgres;
答案 0 :(得分:0)
在a_horse_with_no_name的帮助下:
ALTER TABLE public.adm_mod_usu DROP CONSTRAINT fk_adm_mod_usu_unique_cpermiso;
ALTER TABLE public.adm_mod_usu
ADD CONSTRAINT fk_adm_mod_usu PRIMARY KEY (cusuario, cpermiso)
USING INDEX TABLESPACE sistema_index;
我将唯一约束更改为primary。