无法使用节点将空值发送到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了一个完全为空的行。 这是可能的,但这不太可能。
你究竟在做什么?