2

使用 mysql-ssh

如何通过nodejs在MySQL中将DateTime字段的值插入null?

尝试以下:

connection.query('INSERT INTO idea_steps (field1, field2) VALUES(?, ?)', ['value1', null])
connection.query('INSERT INTO idea_steps (field1, field2) VALUES(?, ?)', ['value1', ''])
connection.query('INSERT INTO idea_steps (field1, field2) VALUES(?, ?)', ['value1', 'null'])
connection.query('INSERT INTO idea_steps (field1, field2) VALUES(?, ?)', ['value1', undefined])

表结构:

field1 String
field2 DateTime Default null

错误:

为了 ''

Incorrect datetime value: \'\' for column \'field2\' at row 730

对于未定义

Unknown column \'NaN\' in \'field list\'

对于“空”

Incorrect datetime value: \'null\' for column \'field2\' at row 730'

为空

Unknown column \'NaN\' in \'field list\'

谁能帮我将 DateTime 字段插入为空?我不能跳过这个field2领域。让我知道是否有可能,如果没有,我将不得不想出别的办法。

4

1 回答 1

0

这里的语法connection.query似乎有问题。

它应该是:

const sqlQuery = "INSERT INTO idea_steps (field1, field2) VALUES ?";
const values =  [ ['field1', 'NULL'] ];

con.query(sqlQuery, [values], function (err, result) {
    if (err) throw err;
    console.log("Number of records inserted: " + result.affectedRows);
  });
于 2020-07-10T10:30:29.653 回答