就是如何用图中work表中的id字段在data表(data中有三万多行数据)中找到对应的id把对应的a中的内容写入到work中的a中,补充完整个work
可以把结果直接存在数据库中,也可以保存到各类文件中,最后只需要d、id和对应的a即可
我自己试过Python,但由于技术太差没能成功,对方法和语言没有要求,谢谢大家
补充一下,结果一定要按原来的顺序排,不能按id顺序排
insert into work select 1 as d, id, a from data where id in (select id from work)
INSERT INTO `work` (id, a)
SELECT id, a FROM `data`
ON DUPLICATE KEY UPDATE `work`.a = `data`.a;
备注:d 要有原始值, 此代码是源自MySQL代码,不知可有相容性。
update table1
set num1 = t2.num2
FROM table1 t1 INNER JOIN table2 t2
ON t1.id=t2.pid;
问题已经解决,自己来填下坑,欢迎大家补充方法
xxx.py文件↓
import configparser
import sqlite3
import os
read_file = configparser.ConfigParser()
read_file.read("Sqlite.cfg")
file_dir = read_file.get("Sqlite", "filedir")
work_db = sqlite3.connect(file_dir)
cursor = work_db.cursor()
cursor.execute("select * from data;")
test = cursor.fetchall()
for i in test:
dataogn = list(i)
data_id = str(dataogn[0])
data_a = str(dataogn[1])
try:
comman = "UPDATE work SET a= \"" + data_a + "\" WHERE id = " + data_id + ";"
cursor.execute(comman)
print("success")
except:
#exit()
print(data_id+"failed")
cursor.close()
work_db.commit()
work_db.close()
Sqlite.cfg文件↓
[Sqlite]
filedir = 数据库地址
先pip安装configparser,修改并保存Sqlite.cfg和py文件在同一目录运行