写数据库期末项目的时候卡了很久又没搜到什么有效的解决方法,最后是试出来的,有点抽象 。
直接给结论,整句查询语句写成一个字符串,用%s占位符,不用在字符串后添加%(实际值),列名不要加引号,参数也不要加引号,如这里的date和comment。execute可以接收两个参数,第一个是查询语句,第二个是值列表,记得把所有的参数转字符串。
cursor.execute("insert into table(a, b, date, comment) values(%s, %s, %s, %s)",
(string类型变量, str(int类型变量), date, comment))
date类型的查询结果可以用datetime转换为字符串。
date = datetime.strftime(date, "%Y-%m-%d")