【发布时间】:2020-02-20 17:21:45
【问题描述】:
我正在使用 React 使用 NodeJS 将数据发送到我的 PostgreSQL 数据库。我的歌曲表中有一个外键,它引用了我的专辑表中的 id。我的问题是如何将我的 id 从我的第一个 INSERT 返回(或任何需要做的事情)到我的第二个 INSERT 中的 album_id ?这是我目前的代码:
const addData = (request, response) => {
const uuid = uuidv4();
db.pool.query('INSERT INTO albums (title, date, description, id) VALUES ($1, $2, $3, $4) ON CONFLICT (id) DO NOTHING RETURNING *' , [request.body.title, request.body.date, request.body.description, uuid])
.then(res => {
console.log('INSERT ' + JSON.stringify(res.rows[0].id));
}).then(() => {
for (let i = 0; i < request.body.files.length; i++) {
db.pool.query('INSERT INTO songs (id, name, link, index) VALUES ($1, $2, $3, $4) ON CONFLICT (album_id, index) DO NOTHING RETURNING *', [uuidv4(), request.body.files[i].name, request.body.files[i].link, request.body.files[i].index])
}
}).then(res => {
console.log('INSERT INTO songs ' + JSON.stringify(res));
}).catch(error => console.log(error));
}
我还没有在我的歌曲 INSERT 中添加专辑 ID。我在等着看如何将专辑 id 的值获取到我的第二个 INSERT 中?
【问题讨论】:
-
console.log在查询后立即插入专辑表记录专辑 ID,是吗? -
请提供您的表格结构
标签: javascript node.js postgresql