【发布时间】:2015-04-20 07:45:46
【问题描述】:
我正在将数据从 mysql 表插入到 postgres 表中,我的代码是:
from sqlalchemy import create_engine, MetaData, Table
from sqlalchemy.orm import mapper, sessionmaker
import psycopg2
class TestTable(object):
pass
class StoreTV(object):
pass
if __name__ == "__main__":
engine = create_engine('mysql://root@localhost:3306/irt', echo=False)
Session = sessionmaker(bind=engine)
session = Session()
metadata = MetaData(engine)
test_table = Table('test_1', metadata, autoload=True)
store_tv_table = Table('roku_store', metadata, autoload=True)
mapper(TestTable, test_table)
mapper(StoreTV, store_tv_table)
res = session.query(TestTable).all()
print res[1].test_1col
tv_list = session.query(StoreTV).all()
for tv in tv_list:
tv_data = dict()
tv_data = {
'title': tv.name,
'email': tv.business_email
}
print tv_data
conn = psycopg2.connect(database="db", user="user", password="pass", host="localhost", port="5432")
print "Opened database successfully"
cur = conn.cursor()
values = cur.execute("Select * FROM iris_store")
print values
cur.execute("INSERT INTO iris_store(title, business_email) VALUES ('title':tv_data[title], 'business_email':tv_data[business_email])")
print "Record created successfully"
conn.commit()
conn.close()
而且我无法从 postgres 数据中获取数据并插入到 postgres 表中 虽然我成功从 Mysql 表中获取数据
错误是:
某事
{'email': 'name@example.com', 'title': "Some Name"}
成功打开数据库
无
Traceback(最近一次通话最后一次):
文件“/home/Desktop/porting.py”,第 49 行,在 cur.execute("INSERT INTO iris_store(title, business_email) VALUES ('title':tv_data[title], 'business_email':tv_data[business_email])")
psycopg2.ProgrammingError:“:”处或附近的语法错误 第 1 行:... iris_store(title, business_email) VALUES ('title':tv_data[t... ^
【问题讨论】:
标签: database