Postgresql 如何将列更新为外键?
以下是我创建的表:Postgresql 如何将列更新为外键?,postgresql,Postgresql,以下是我创建的表: CREATE TABLE enrolled ( sid integer NOT NULL, ccode character varying(6) NOT NULL, CONSTRAINT enrolled_pkey1 PRIMARY KEY (sid, ccode) ); 现在,我想从名为Class的表中更新要声明为外键的ccode列。我该怎么做 ALTER TABLE ONLY enrolled ADD CONSTRAINT enrolled_ccod
CREATE TABLE enrolled
(
sid integer NOT NULL,
ccode character varying(6) NOT NULL,
CONSTRAINT enrolled_pkey1 PRIMARY KEY (sid, ccode)
);
现在,我想从名为Class的表中更新要声明为外键的ccode列。我该怎么做
ALTER TABLE ONLY enrolled
ADD CONSTRAINT enrolled_ccode_fkey FOREIGN KEY (ccode)
REFERENCES class(ccode)
ON UPDATE CASCADE ON DELETE RESTRICT;
但要使其起作用,请记住,您必须在class.ccode
列上有一个唯一的索引:
CREATE UNIQUE INDEX class_ccode_idx ON class USING btree (ccode);
解决了这个问题。谢谢