[Pymysql]前回送信された自動インクリメントフィールドの値を取得します

コード

import pymysql

conn=pymysql.connect(
    host="127.0.0.1",
    user="root",
    password="123456",
    database="test",
    charset="utf8"
)
# 拿到游标对象,游标是给mysql提交命令的接口
cursor=conn.cursor()
# 执行sql语句
# 增、删、改
sql= 'insert into docfield(text,inindustry) values(%s,%s);'
# 查
sql_search='select * from docfield'

# 把sql语句传给游标执行
rows=cursor.execute(sql, ("123","99"))
print(rows)
print(cursor.lastrowid)
conn.commit()
cursor.execute(sql_search)
rs=cursor.fetchall()
print(rs)
print(cursor.lastrowid)	#返回None
# 执行完sql语句要关闭游标和mysql连接
cursor.close()
conn.close()

重要な部品の説明

  1. カーソルはカーソルです。カーソルが加算、削除、および変更操作を実行する場合にのみ、cursor.lastrowidを介して最後の操作の自動インクリメントフィールドの値を取得できます。
  2. カーソルが検索操作を実行するとき、cursor.lastrowidはNoneのみを取得できます。これは空です。
  3. カーソルがSQLを実行せず、lastrowidを直接取得すると、例外がスローされ、エラーが報告されます。

おすすめ

転載: blog.csdn.net/kz_java/article/details/114898723