如何使用python将空参数传递给mysql过程中的日期字段
我是Mysql的新手,所以在从调用该过程的python脚本中传递null value to date字段时遇到了问题。您能帮我解决这个问题吗 我在mysql db_测试中有一个表,其中包含字段名称和日期,日期列允许空值 我从python中调用这个过程,如下所示如何使用python将空参数传递给mysql过程中的日期字段,python,mysql,stored-procedures,Python,Mysql,Stored Procedures,我是Mysql的新手,所以在从调用该过程的python脚本中传递null value to date字段时遇到了问题。您能帮我解决这个问题吗 我在mysql db_测试中有一个表,其中包含字段名称和日期,日期列允许空值 我从python中调用这个过程,如下所示 cursor.execute("CALL date_insert(%s,%s) ;" %('john',None)) 但它显示了一个错误 Error No:1292 Incorrect value 'None' for the date
cursor.execute("CALL date_insert(%s,%s) ;" %('john',None))
但它显示了一个错误
Error No:1292 Incorrect value 'None' for the date column
对于MYSQL,请尝试使用
NULL
而不是None
:
cursor.execute("CALL date_insert(%s,%s) ;" %('john','NULL'))
尝试:
或
您甚至可能需要:
cursor.execute('CALL date_insert("%s", %s) ;' % ('john', 'NULL')
请记住,虽然它们在不同的语言中使用得很相似:
无,无,无,无,无,0,无效,无效*,''
不相同且不一定可互换。使用:
cursor.execute("CALL date_insert(%s,%s) ;" % ('john', 'NULL')
None
是Python表示空对象的方法。MySQL不知道它是什么。相反,MySQL使用'NULL'
表示空值
有关更多详细信息,请参阅“”。我尝试使用Null而不是None作为您的建议,但仍然得到了错误(1292,“不正确的日期值:第1行“amc_date”列的Null”)@Srilatha Null与Null不同-许多语言都依赖于大小写,尤其是对于“特殊”或“保留”名称。
cursor.execute('CALL date_insert("%s", %s) ;' % ('john', 'NULL')
cursor.execute("CALL date_insert(%s,%s) ;" % ('john', 'NULL')