python中保存mysql字符串不成功问题!

在python中使用pymysql保存数据到数据库中,代码如下:

nowTime = int(time.time())
insertSql = "INSERT INTO table_name SET ori_id = %s, so_html = '%s', baidu_html = '', create_at = %s"
sdata = (artid, context, nowTime)
cursor.execute(insertSql,sdata)

一直报语法错误,查了很多资料才发现python这种写法下sql语句中的%s不需要加引号(如果加了引号,引号也会被当做数据插入到数据表中),游标执行这一语句时,会根据数据类型来判断是否要加上引号,但是由于在php中写习惯了,经常无意中就加上了引号,所以一直报错,把代码修改为就OK了:

nowTime = int(time.time())
insertSql = "INSERT INTO table_name SET ori_id = %s, so_html = %s, baidu_html = '', create_at = %s"
sdata = (artid, context, nowTime)
cursor.execute(insertSql,sdata)

问题也不是什么大问题,但是由于不同语言的书写习惯,会走进惯性思维,造成浪费不少测试时间,所以现在做个记录以便提醒自己!

你可能感兴趣的:(个人心得)