在线QQ客服:1922638
专业的SQL Server、MySQL数据库同步软件
话不多直接上脚本,新手写法-还请指点
#-*-coding: utf-8-*-
import pymysql
#根据id同步,获取本地最大ID
def loacl():
db=pymysql.connect(‘127.0.0.1’’,’root’,’PASSWORD’,’DETABASES’,charset=’utf8′)
cursor=db.cursor()
sql=”select id from 表 order by id desc limit 1″
cursor.execute(sql)
results=cursor.fetchall()
return results
db.close()
def readAndWrite(old_id):
db=pymysql.connect(‘远程数据库’, ‘用户’, ‘密码’, ‘库’,‘端口’,charset=’utf8′)
cursor=db.cursor()
sql=”select * from 源表 where id > %s ” % (old_id)
cursor.execute(sql)
results=cursor.fetchall()
#插入获取到的新数据到本地
for value in results:
write=pymysql.connect(‘127.0.0.1’’,’root’,’PASSWORD’,’DETABASES’,charset=’utf8′)
Wcursor=write.cursor()
writeSql=”INSERT INTO 本地表 (列1,列2,列3,列4) ” \
“VALUE (‘%s’, ‘%s’, ‘%s’, ‘%s’)” % (value[1], value[2], value[3], value[4])
print(writeSql)
try:
Wcursor.execute(writeSql)
write.commit()
except:
write.rollback()
write.close()
cursor.close()
db.close()
old_sq=loacl()
for id in old_sq:
old_id=id[0]
readAndWrite(o_id)
在系统里写个自动任务,定时跑就好了