SQLAlchemy选择语句 - SQL语法错误
我创建了一个表(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)
在结果 = 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的新手,尽管我在网上查了无数教程并改了很多次,但我还是不知道自己哪里出错了。 有谁能帮帮我吗?
2 个回答
0
你的feeds.select()调用可能缺少了一些东西,我建议你再看看这个函数的API文档。
1
我怀疑 Table.select()
这个方法只是用来选择特定的列。如果你想用 SELECT *
来选择所有列的话,表达式语言教程 提供了另一种写法:
from sqlalchemy.sql import select
s = select([feeds])
result = db.execute(s)