我使用mysqldb python包连接到数据库,表中的一些字段确实正确更新,但其中许多字段似乎默认为某个值。我正在使用一个名为“submit\u results”的存储过程,它将导致一个更新过程,通过使用考试编号作为索引来更新学生的分数。
cursor.execute("call s4u155_examcorrector.submit_results({},{},{});".format(str(exam_number),str(marks),str(markedstring)))
我让python输出一个问题的examnumber和标记(用于调试)。如您所见,考试编号7得到022220222(这是一个字符串/varchar)
Exam Number: 7
Marks: 0222202222
另一方面,mysql表输出:
7
222202222
你知道为什么会这样吗?先谢谢你。
编辑:marks是varchar(100)
1条答案
按热度按时间qyzbxkaa1#
在python中将“”放在大括号周围解决了这个问题,因为sql将输入视为一个数字,并将零去掉。