通过Python从其他SQLite数据库写入SQLite数据库
问题描述:
我有两个SQLite数据库。通过Python从其他SQLite数据库写入SQLite数据库
[[email protected] python]$ sqlite3 herostat.db
SQLite version 3.6.20
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
archer_stat warrior_stat wizard_stat
sqlite> select * from warrior_stat;
3000|300|9|9|5|1500|1700|700|200|120
sqlite> .schema
CREATE TABLE archer_stat
(con int, str int, wit int, _int int, dex int, mp int, pdef int, mdef int, patack int, matack int);
CREATE TABLE warrior_stat
(con int, str int, wit int, _int int, dex int, mp int, pdef int, mdef int, patack int, matack int);
CREATE TABLE wizard_stat
(con int, str int, wit int, _int int, dex int, mp int, pdef int, mdef int, patack int, matack int);
sqlite> .exit
[[email protected] python]$ sqlite3 players.db
SQLite version 3.6.20
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .schema
CREATE TABLE users
(login text, password text, _class text, con int, str int, wit int, _int int, dex int, mp int, pdef int, mdef int, patack int, matack int);
sqlite> .exit
我的Python 2.6代码:
conn = db.connect('herostat.db')
c = conn.cursor()
c.execute("SELECT * FROM warrior_stat")
cur_war = c.fetchone()[:]
conn2 = db.connect('players.db')
c2 = conn2.cursor()
c2.execute("INSERT INTO users(_class) VALUES ('warrior')")
c2.executemany('''INSERT INTO users(con, str, wit, _int, dex, mp, pdef, mdef, patack, matack)
VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)''', (cur_war,))
conn2.commit()
c2.close()
我想到:
player|password|warrior|3000|300|9|9|5|1500|1700|700|200|120
我能得到什么:
player|password|||||||||||
||warrior||||||||||
|||3000|300|9|9|5|1500|1700|700|200|120
我在做什么错=
P.S.玩家和密码在流程注册时尽早写入。
输出从哪里来? –
我看到输出到db players.db https://dl.dropboxusercontent.com/u/61798016/executemany.png –
你用什么命令来生成输出? –