Me gustaría permitir que se envíen valores nulos para esta columna, pero cada vez que se deja vacía, recibo esta notificación. Revisé mi tabla y confirmé que la columna permite valores nulos. Todavía soy nuevo en sql y estoy aprendiendo.
HTML
<div id="Temp"> <label for="Temperature">Temperature</label> <input id="Temperature" type="number" name="Temperature"> </div> <div id="Vol"> <label for="Volume">Volume</label> <input id="Volume" type="number" name="Volume"> </div> <input type="submit" value="OK" />JS
app.post("/device-added", function (req, res) { let sqlquery = "INSERT INTO devices (Name, Type, Room, Power, Status, Temperature, Volume) VALUES (?,?,?,?,?,?,?)"; let newrecord = [req.body.Name, req.body.Type, req.body.Room, req.body.Power, req.body.Status, req.body.Temperature, req.body.Volume]; // execute sql query db.query(sqlquery, newrecord, (err, result) => { if (err) { return console.error(err.message); } }); res.render("device-added.html"); }); }Si pongo un numero en temperatura me dara el error de volumen y viceversa
¿Puedes probar esto?
let newrecord = [req.body.Name, req.body.Type, req.body.Room, req.body.Power, req.body.Status, req.body.Temperature || null, req.body.Volume];En la temperatura de su código, se nos pasa como una cadena vacía (es decir, "") y, por lo tanto, obtiene este error ya que, de acuerdo con la estructura de su tabla, solo permitirá números enteros o nulos.