一尘不染

如何使用Python将NULL数据插入MySQL数据库?

mysql

从Python脚本向MySQL插入一些数据时,出现一个奇怪的错误。这基本上与我要插入的变量为空有关。我认为MySQL不喜欢空白变量,但是还有其他我可以将其更改为可以与我的insert语句一起使用的东西吗?

我可以成功地使用一条IF语句将其设置为0(如果为空),但这可能会弄乱我计划稍后在MySQL中进行的某些数据分析。有没有办法将其转换为NULL或某种方式,以便MySQL接受但不添加任何内容?


阅读 1073

收藏
2020-05-17

共1个答案

一尘不染

快速检查空白,如果为空白,则将其设置为NULL:

if(!variable_to_insert)
    variable_to_insert = "NULL"

…然后确保插入的变量不在插入语句的引号中,例如:

insert = "INSERT INTO table (var) VALUES (%s)" % (variable_to_insert)
...

不喜欢:

insert = "INSERT INTO table (var) VALUES ('%s')" % (variable_to_insert)
...
2020-05-17