2015-09-11 4 views
2

При подключении к MemSQL через SQLAlchemy (версия 1.0.8) Я м получаю сообщение об ошибкеОшибка синтаксиса на SQLAlchemy с MemSQL

sqlalchemy.exc.ProgrammingError: (_mysql_exceptions.ProgrammingError) (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`Charset` = 'utf8' and `Collation` = 'utf8_bin'' at line 1") [SQL: "show collation where `Charset` = 'utf8' and `Collation` = 'utf8_bin'"] 

эхо = True показывает, что в начале SQLAlchemy выполняет следующую команду

show collation where `Charset` = 'utf8' and `Collation` = 'utf8_bin' 

Когда я вручную запускаю команду выше, я получаю ту же ошибку, но когда я удаляю символы (`) вокруг Charset и Collation, запрос выполняется нормально. Это проблема MemSQL?

BTW Я использую способ по умолчанию (MySQL) для подключения к MemSQL.

engine = create_engine('mysql://[email protected]:3306', echo=True) 

ответ

2

Это похоже на законную ошибку. По-видимому, это было вызвано недавним изменением/обходным решением, введенным в SQLAlchemy в коде с использованием библиотеки MySQL-Python. Мы будем работать над тем, чтобы это было исправлено на нашей стороне.

Между тем, библиотека OurSQL работает отлично:

>>> import sqlalchemy 
    >>> sqlalchemy.__version__ 
    '1.0.8' 
    >>> sqlalchemy.create_engine("mysql+oursql://127.0.0.1").connect() 
    <sqlalchemy.engine.base.Connection object at 0x7f382ff19910>