我创建了一个具有int类型的默认NULL字段的表。我需要使用参数查询插入数据,但我无法通过变量将NULL传递给int字段。
module.exports = new GraphQLSchema({ query: RootQuery });
我尝试了以下作为mk_int
的回复但上述内容允许在字段中插入NULL。
答案 0 :(得分:0)
我建议使用Python None
作为绑定值。
我认为这可以通过在当前代码中返回None
代替'NULL'
来实现:
if value in (None, "",''):
return None
我无法解释为什么那不起作用。但我不是Python专家。
作为调试测试,我尝试使用None
代替对函数的调用,在这里:
conn.cursor().execute(insertSQL,None)
修改强>
测试返回SQL错误1604 ... syntax to use near '%s'
这表明发送给MySQL的SQL文本包含%s
占位符。
这意味着execute
没有对值进行绑定。
可能是因为它没有看到要绑定的值列表,它看到了None
并且没有做任何事情。
让我们尝试执行值的列表。然后执行将看到给它某事。我们给了它一个列表,而不只是None
。列表中的第一项是None
。
让我们尝试添加parens:
conn.cursor().execute(insertSQL, ( None ) )
^ ^
如果我们开始工作,那么我们可以测试用函数调用替换None
(包含在parens中)。