繁体   English   中英

SQLAlchemy Select语句-SQL语法错误

[英]SQLAlchemy Select statement - SQL Syntax Error

我已经创建了一个表(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的新手,尽管在Google上搜索了网络上的每个教程并进行了一百万次更改,但我不知道我在做什么错。 有什么帮助吗?

我怀疑Table.select()仅用于选择特定的列。 对于SELECT *表达式语言教程改为使用以下语法:

from sqlalchemy.sql import select
s = select([feeds])
result = db.execute(s)

您的feeds.select()调用中可能缺少一些内容,我将再次查看此功能的API文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM