我想将一个id的数组插入到一个文件中,但是在创建一个表时,我使用了int
,并且它具有另一个表的引用,现在我如何将数组值存储到特定字段?
我知道列必须是相同的类型,我也看到有些人试图在阵列问题上解决这个外键:
我也按照这个文档尝试了ELEMENT但没有成功。请有人在这里帮助我https://blog.2ndquadrant.com/postgresql-9-3-development-array-element-foreign-keys/
db.query('CREATE TABLE IF NOT EXISTS departments_users(_id SERIAL NOT NULL UNIQUE PRIMARY KEY,user_id int REFERENCES companyUser ON DELETE CASCADE,department_id int REFERENCES departments ON DELETE CASCADE)');
exports.addCompanyUser = function(data, callback) {
db.query('INSERT INTO departments_users(user_id,department_id) VALUES($1,$2) RETURNING *', [companyuseraccess.rows[0]._id, data.department]).then(function(departments_users) {
})
}
答案 0 :(得分:1)
你没有ARRAY
dataType的任何字段,所以基本上你不能在字段中插入数组。如果您希望在字段中放入数组,请先将其数据类型更改为ARRAY
,然后您可以
INSERT INTO "some_table" ("id","array_field","some_text_field")
VALUES (1,ARRAY['value1','value2']::TEXT[],'active') RETURNING *
希望这会有所帮助。如果我能进一步帮助,请告诉我