Python 3,SQLAlchemy,MySQL。 INSERT语句中的语法不正确

时间:2010-11-18 14:04:52

标签: mysql sqlalchemy python-3.x

Engine = create_engine("mysql+mysqldb://blah-blah-blah", encoding="utf-8")
Session = sessionmaker(bind = Engine)
ses = Session()
Meta = MetaData(bind = Engine, reflect = True)
PersonTable = Meta.tables["person"]

class Person(object):
   pass

mapper(Person, PersonTable)
APerson = Person("1111", "2222", "1.01.1980")
ses.add(APerson)
ses.commit()

sqlalchemy.exc.ProgrammingError :( ProgrammingError)(1064,“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在'%s,%s,%附近使用正确的语法s)'第1行')b'INSERT INTO person(NameOriginalNameDoB)VALUES(%s,%s,%s)'('1111',' 2222','25 .01.1980')

%s是多少?我错了什么?

Python 3.1 SQLAlchemy 0.6.5 MySQL 5.1 Windows 7旗舰版

谢谢。

2 个答案:

答案 0 :(得分:0)

您sqlalchemy commit正在尝试发出与架构不兼容的插入查询。 near '%s, %s, %s)'表示您尝试插入无效数据。我只能推测它是因为日期格式 - 这不是正确的mysql日期格式YYYY-MM-DD

答案 1 :(得分:0)

我迁移回Python 2.7。现在它工作正常。