无法使用节点将空值发送到MySQL数据库

我试图发送null到我的MySQL数据库使用node.js:

con.query("INSERT INTO Routes (routeTrigger) VALUES ( " + null + " )", {title: 'test'}, function(err, result) { if (err) throw err; }); 

但是在数据库中查看时,更新后的值为“null”。 数据库null应该读取“ NULL ”。 如果我发送资金NULL,而不是工作(在节点)。 如果我发送“NULL”它发送string“NULL”,而不是数据库null。

如果你想分配NULL值在SQL表中,你可以有不同的想法。

您可以调整字段(列),而不是分配NULL ,以便默认值 (未分配时)为NULL

现在,当你插入你的新行时, 不要为该字段分配任何值


例如:

假设表格的结构如下所示:

MyTable的

id :自动增量; …

名称 :文本

url :text; 默认= NULL

那么你可以这样做:

INSERT INTO Mytable ( name ) VALUES ( "Joe" );

当您省略url信息时,它将被设置为NULL

Javascript null不是SQL空值。 你想(在oyur情况下,使用原始的sqlstring)一个string:

  con.query("INSERT INTO Routes (routeTrigger) VALUES ( null )", {title: 'test'}, function(err, result) { if (err) throw err; }); 

但请注意,这创build了一个完全为空的行。 这是可能的,但这不太可能。

你究竟在做什么?