Python开发【笔记】:pymsyql 插入一条数据同时获取新插数据的自增id的两种方式


一、通过cursor.lastrowid

import pymysql.cursors

# Connect to the database

connection = pymysql.connect(host='192.168.90.10',
                             port=3306,
                             user='remote',
                             password='123456',
                             db='Jefrey',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor,
                             autocommit = True)

try:

    with connection.cursor() as cursor:  # 增加
        sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
        cursor.execute(sql, ('webmaster@python.org', 'very-secret'))
        print(cursor.lastrowid)
finally:
    connection.close()

# 87

 

二、通过sql语句SELECT LAST_INSERT_ID()

import pymysql.cursors

# Connect to the database

connection = pymysql.connect(host='192.168.90.10',
                             port=3306,
                             user='remote',
                             password='123456',
                             db='Jefrey',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor,
                             autocommit = True)

try:

    with connection.cursor() as cursor:  # 增加
        sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
        cursor.execute(sql, ('webmaster@python.org', 'very-secret'))
        sql = 'SELECT LAST_INSERT_ID() AS id;'
        cursor.execute(sql)
        database = cursor.fetchone()
        print(database)
finally:
    connection.close()

# {'id': 88}

 

表结构:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM