0
我是新与PostgreSQL和我想创建3个表:PostgreSQL的 - 至少一个需求
Students(id, name)
Courses(num, name)
and Register(id, num)
CREATE TABLE Students (sid integer, name text,PRIMARY KEY (sid))
CREATE TABLE Courses(num integer,name text, PRIMARY KEY (num))
CREATE TABLE Register(sid integer, num integer, FOREGIN KEY (sid, num) REFERENCES (Students, Register))
我想强制每个学生注册到至少一门课程的需求,如何我可以在不改变上述表格的属性的情况下做到吗? TNX
您可以创建一个'CHECK'约束,但它必须推迟,你将不得不使用交易。延迟约束在插入/更新时不检查,而是在提交时检查。一旦进入交易,您也可以更改模式。通过属性https://www.postgresql.org/docs/current/static/sql-set-constraints.html – coladict
- 你指的是列? –
@VaoTsun是的,我不想改变架构。 – cbdes