Soy nuevo en node y mysql. Estoy desarrollando una API.
Aquí está el caso:
Quiero hacer un servicio web y hacer dos inserciones en dos tablas diferentes con una sola consulta.
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) }
se me ocurre
ER_PARSE_ERROR
Actualizar
Tengo dos mesas:
1) tarea (id, nombre, descripción, vencimiento_fecha, dificultad_id, curso_id)
Esta tabla contiene una lista de tareas.
2) tareas_evaluadas (student_id, task_id)
Esta tabla contiene las tareas que se van a evaluar. Cuando se evalúa una tarea para un estudiante específico, debe eliminarse de esta tabla.
Ahora quiero crear una nueva tarea. La cuestión es que después de crear una nueva tarea, tengo que insertar en mi tabla de evaluated_tasks
tantos registros como cuenten mis alumnos. Entonces, cada registro será un par de dos columnas id_estudiante y id_tarea .
El objetivo es hacer todo esto en una sola consulta. De mi pequeña investigación vi que puedo usar start_transaction
y commit
para mysql
. El punto es que podría haber un error de sintaxis en esta consulta.