Home > Blockchain >  Nodejs sql not deleting row but showing success and " affectedRows : 0",
Nodejs sql not deleting row but showing success and " affectedRows : 0",

Time:10-21

sql query

router.delete("/delete/:id", (req, res) => {
    let { ID } = req.params.id;

    let sql = "DELETE FROM student WHERE Student_ID = ?";
    console.log("id: ", req.params.id);

    db.query(sql,[ID], (err, result) => {
        if (err) {
            console.log("error: ", err);
            res.status(400).send({ message: "error in deleting with id" });
        } else {
            console.log("deleted student with id: ", req.params.id);
            res.send(result);
        }
    });

});

URL

http://localhost:3001/students/delete/S0001

response

{
    "fieldCount": 0,
    "affectedRows": 0,
    "insertId": 0,
    "serverStatus": 2,
    "warningCount": 0,
    "message": "",
    "protocol41": true,
    "changedRows": 0
}

And not delete any data in mysql workbench .

CodePudding user response:

You should declare a variable like this let id. let {ID} is destructuring assignment, suggest you read through this https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

router.delete("/delete/:id", (req, res) => {
    let id = req.params.id;

    let sql = "DELETE FROM student WHERE Student_ID = ?";
    console.log("id: ", req.params.id);

    db.query(sql,[id], (err, result) => {
        if (err) {
            console.log("error: ", err);
            res.status(400).send({ message: "error in deleting with id" });
        } else {
            console.log("deleted student with id: ", req.params.id);
            res.send(result);
        }
    });

});
  • Related