我是node和mysql的新手。我正在开发一个API。
情况如下:
我想创建一个Web服务,并使用一个查询在两个不同的表上进行两次插入。
function createTask(taskInfo, callback) {
return db.query(`start transaction;
insert into task values(null,'${taskInfo.name}','${taskInfo.description}',${taskInfo.dueDate},'${taskInfo.difficultyId}','${taskInfo.course_id}') ;
insert into evaluated_tasks (student_id, task_id)
(select id from user where type=1) , (select max(id) from task);
commit;`
, callback)
}
我想出来
ER_PARSE_ERROR
更新
我有两张桌子:
1)任务(id,name,description,due_date,difficulty_id,course_id)
此表包含任务列表。
2)assess_tasks(student_id,task_id)
此表包含要评估的任务。当为特定学生评估任务时,必须从该表中删除该任务。
现在我想创建一个新任务。问题在于,在创建新任务之后,我必须向我的evaluated_tasks
表插入与我的学生一样多的记录。因此,每条记录将是一对两列 student_id 和 task_id 。
目标是在单个查询中进行所有这些操作。从我的小研究中,我看到我可以使用start_transaction
和commit
作为mysql
。关键是此查询可能存在语法错误。