1、前兩天有個需求是就寫一個腳本,導出sql文件后,需要插入數據,但是2個sql的文件,都是自增ID,其中user表中的id被關聯到了一個認證表中。
步驟:
1、插入認證表(身份證號唯一)的數據 一行一行插入 提交數據庫
2、插入user表中的數據,獲取最新的ID,(user 表中頁有身份證字段唯一)提交數據庫
3、查詢身份證字段字段的值,條件為最新的ID。
4、更新認證表,條件為身份證號相等的數據即可
4、提交更改
import pymysql db = pymysql.connect(host='329.1.41.31', user='root', password='222222', database='tes1') #獲取數據庫游標 cursor = db.cursor() #打開文件 user_db = open("t_user.sql",encoding='utf-8') #文件名 certify_db = open("t_certify.sql",encoding='utf-8')#文件名 for line1 in certify_db.readlines(): certify_db_sql = line1.strip('\n') cursor.execute(certify_db_sql) db.commit() certify_db.close() for line in user_db.readlines(): user_db_sql = line.strip('\n') cursor.execute(user_db_sql) new_id = cursor.lastrowid db.commit() sql = "SELECT identity_card FROM t_user \ WHERE USER_ID=%s" % (new_id) #查詢字段identity_card, cursor.execute(sql) results=cursor.fetchall() if results[0][0] is None: print("更新失敗") else: cursor.execute("update t_certify set user_id= %s where id_card= %s" ,(new_id,results[0][0])) db.commit() print("更新成功") user_db.close() db.close()