Python 3, SQLAlchemy, MySQL. Неверный синтаксис в операторе INSERT - PullRequest
0 голосов
/ 18 ноября 2010
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 Ultimate

Спасибо.

Ответы [ 2 ]

0 голосов
/ 22 ноября 2010

Я перешел обратно на Python 2.7.Теперь работает нормально.

0 голосов
/ 18 ноября 2010

При фиксации sqlalchemy вы пытаетесь выполнить запрос вставки, несовместимый со схемой.near '%s, %s, %s)' означает, что вы пытаетесь вставить неверные данные.Я могу только предположить, что это потому, что формат даты - это не правильный формат даты mysql YYYY-MM-DD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...