【发布时间】:2011-05-12 01:31:26
【问题描述】:
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 (Name, OriginalName, DoB) VALUES (%s, %s, %s)' ('1111', '2222', '25.01. 1980')
%s 是什么?我哪里错了?
Python 3.1 SQLAlchemy 0.6.5 MySQL 5.1 Windows 7 旗舰版
谢谢。
【问题讨论】:
-
它是一个 C 风格的打印东西,其中每个 %s 应该分别对应字符串值 '1111'、'222' 和 '25.01.1980'。我不知道 sqlalchemy 来帮你解决这个问题
-
这里有一个类似的问题,虽然是最近的,但希望它会有一个有用的答案:stackoverflow.com/questions/14732533/…
标签: mysql sqlalchemy python-3.x