我使用MySQLdb Python包连接到数据库,我表中的一些字段确实正确更新,但其中许多字段似乎默认为某个值。我使用名为" submit_results"的存储过程,它会导致更新程序,通过使用考试编号作为索引来更新学生标记。
cursor.execute("call s4u155_examcorrector.submit_results({},{},{});".format(str(exam_number),str(marks),str(markedstring)))
我有Python输出的考试编号和标记(用于调试)。如您所见,考试编号7得到0222202222(这是一个字符串/ varchar)
Exam Number: 7
Marks: 0222202222
另一方面,MySQL表输出:
7
222202222
任何想法也都是为什么会发生这种情况?提前谢谢。
编辑:标记是Varchar(100)
答案 0 :(得分:0)
放置'' Python中的大括号周围修复了这个问题,因为SQL将输入视为一个数字并切断了零。