我有一张桌子:
CREATE TABLE methods
(
method_id serial PRIMARY KEY,
method_name varchar(100)
);
Run Code Online (Sandbox Code Playgroud)
我现在想创建一个包含以下列的表:
CREATE TABLE experiments
(
method integer[] REFERENCES methods(method_id),
trials integer
);
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
键列“method”和“method_id”是不兼容的类型:整数[]和整数。
我知道列必须是相同的类型,我还看到有些人已经尝试在数组问题上解决这个外键:
PostgreSQL 9.3 开发:Array ELEMENT 外键
我的兴趣是 'method' 应该是一个整数数组,引用来自表 'methods' 的 'method_id',但我无法弄清楚。我认为上面的链接可能是一个解决方案,但似乎没有实现(?)
一些帖子建议使用连接/连接表:
我是一个绝对的初学者,我还无法弄清楚。对我来说,首先要了解如何解决数组上的外键问题。可以将多个方法视为形成一类方法。每个班级可以有一定数量的试验。