深度学习,深度睡眠 2022-09-01 18:43 采纳率: 68.8%
浏览 24
已结题

pymysql中excute()占位符%s


if cursor.execute(sql,(id,user,age)):

上面这行代码,sql中的3个占位符(VALUES(%s,%s,%s))是如何与后面的元组(id,user,name)关联起来的?占位符%s后面不是要加%再跟要代替的值吗?

import pymysql

db = pymysql.connect(host='localhost',user='root',passwd='***',port=3306,db='spiders')
cursor = db.cursor()

id = '20120001'
user = 'Bob'
age = 20

sql = 'INSERT INTO students(id,user,age) VALUES(%s,%s,%s)'
try:
    if cursor.execute(sql,(id,user,age)):
        print('Successful')
        db.commit()
except:
    print('Failed')
    db.rollback()
db.close()
  • 写回答

1条回答 默认 最新

  • honestman_ 2022-09-01 18:51
    关注

    这是 execute的固定语法,后面跟sql里面相同个数的元组就行

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月10日
  • 已采纳回答 9月2日
  • 修改了问题 9月1日
  • 创建了问题 9月1日