Member 13116339 Ответов: 1

Попытка сохранить значения массива в целочисленном виде . Это мой код . Разве это неправильно?


я хотел бы сохранить несколько идентификаторов в столбце student_id таблицы users. но у него есть ссылка на таблицу отделов _id, которая объявлена типом int, так что если у вас есть какие-либо идеи, пожалуйста, предложите мне

Что я уже пробовал:

db.query('INSERT INTO users(name,student_id) VALUES($1,ARRAY["$2","$3"]::INTEGER[]) RETURNING *', [data.name, data.id])
.then(function(user) { })
.catch(function(err) {
    return callback(null, err);
})

1 Ответов

Рейтинг:
0

OriginalGriff

Не надо, вот так просто.
Даже если столбец student_id является строковым столбцом - и это единственный способ получить там несколько значений в виде строки, разделенной запятыми, - с этого момента с ним можно работать как с питой.
Вместо этого создайте отдельную таблицу, которая связывает идентификатор пользователя с идентификатором студента и хранит одну пару значений идентификатора в каждой строке. С ним гораздо легче работать, когда вам нужно снова обратиться к данным.