【发布时间】:2022-01-12 15:11:59
【问题描述】:
在我的 main.js 文件中,字符串是“hello,0,,0,0”(如果您在数组中读取它,则在第二个位置为空)它需要能够将 NULL 传递到数据库中。
仅供参考:如果第二个位置是 0 并且不为空,它将起作用
我正在尝试将字符串“,”拆分为 var,如下所示。
var Val = req.body.string.split(",");
var one = Val[0];
var two = Val[1];
var three = Val[2];
var four = Val[3];
var five = Val[4];
let sqlquery = "INSERT INTO TESTING (one, two, three, four, five) VALUES (?,?,?,?,?)";
let newrecord = [one, two, three, four, five];
db.query(sqlquery, newrecord, (err, result) => {
if (err) {
return console.error(err.message);
} else
res.send("Added in database");
我得到了这个错误
ER_TRUNCATED_WRONG_VALUE_FOR_FIELD:不正确的整数值:第 1 行的列“三”的“”
我创建的表:CREATE TABLE TESTING (1 VARCHAR(50), 2 BOOLEAN, 3 INT(4), 4 INT(4), 5 BOOLEAN ,PRIMARY KEY(name));
字段均为 NULL
上表中没有自动增量,我使用完全相同的方式创建了另一个表,但具有自动增量 ID,但仍然抛出相同的错误
【问题讨论】:
-
第三个值应该接收一个整数,但它从数组 Val[2] 接收空值,您可以将列配置为接收 null,或者如果 val[2] 为空,则将其转换为0 插入前
-
@nermineslimane 它在我的 sql 中已经为 null,它应该将 null 插入数据库而不是 0
标签: javascript mysql express ejs body-parser