我已经创建了一个表(MySQL 5.1)
from sqlalchemy import *
def get():
db = create_engine('mysql://user:password@localhost/database')
db.echo = True
metadata = MetaData(db)
feeds = Table('feeds', metadata,
Column('id', Integer, primary_key=True),
Column('title', String(100)),
Column('link', String(255)),
Column('description', String(255)),
)
entries = Table('entries', metadata,
Column('id', Integer, primary_key=True),
Column('fid', Integer),
Column('url', String(255)),
Column('title', String(255)),
Column('content', String(5000)),
Column('date', DateTime),
)
feeds.create()
entries.create()
但是当我尝试查询它时:
from sqlalchemy import *
db = create_engine('mysql://user:password@localhost/database')
metadata = MetaData(db)
feeds = Table('feeds', metadata)
s = feeds.select()
result = db.execute(s)
我在 result = db.execute(s) 行中收到一条错误消息,指示如下:
sqlalchemy.exc.ProgrammingError: (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 'FROM feeds' at line 2") 'SELECT \nFROM feeds' ()
我显然是 SQLAlchemy 的新手,而且我不知道自己做错了什么,尽管我已经在网上搜索了每个教程并将其更改了一百万次。有帮助吗?
请您参考如下方法:
我怀疑Table.select()仅用于选择特定列。对于 SELECT *,expression language tutorial改为使用此语法:
from sqlalchemy.sql import select
s = select([feeds])
result = db.execute(s)
