调用游标下的lastrowid
可以获取插入之前的表里id字段存放到哪个自增id
cursor.lastrowid
mysql> select * from userinfo;
+----+-------+-----+
| id | name | pwd |
+----+-------+-----+
| 1 | mike | 123 |
| 2 | jack | 456 |
| 3 | alex | 555 |
| 4 | peter | 989 |
| 5 | app | 123 |
| 6 | tom | 556 |
+----+-------+-----+
6 rows in set (0.03 sec)
我再用脚本 插入三条记录 自增id就是从 7开始,获取我插入记录的 第一条记录的自增id,
下面我插入三条记录,自增id分别是7、8、9
import pymysql mysql_host = '192.168.0.106'
port = 3306
mysql_user = 'root'
mysql_pwd = ''
encoding = 'utf8' # 建立 连接mysql服务端 conn = pymysql.connect(
host=mysql_host, # mysql服务端ip
port=port, # mysql端口
user=mysql_user, # mysql 账号
password=mysql_pwd, # mysql服务端密码
db='db10', # 操作的库
charset=encoding # 读取字符串编码 ) # 拿到游标对象
cur = conn.cursor() '''
游标是给mysql提交命令的接口
mysql>
把sql语句传递到这里
''' # 执行sql语句
# 增、删、改
sql= 'insert into userinfo(name,pwd) values(%s, %s); ' # 把sql语句传给游标执行
# 让游标execute去帮我拼接字符串
rows = cur.executemany(sql,[('peter4',''),('app5',''),('tom6','')])
print(cur.lastrowid)
# 想让insert 语句 插入数据库里面去需要加上这个
conn.commit() # 执行完sql语句要关闭游标和mysql连接
cur.close()
conn.close() #