SQLalchemy python3 s = select([users])Namerror:name' users'没有定义

时间:2014-09-15 16:14:27

标签: python sql sqlite python-3.x sqlalchemy

以下是代码:

#from hooks.basic import *
from sqlalchemy import *
from sqlalchemy.engine import *
from sqlalchemy.sql import *
import os

db_list = []
word_list=[]

#if os.path.exists("logs.db"):
   # pass

engine = create_engine('sqlite:///logs.db', echo=False)

connection = engine.connect()

try:
    connection.execute(
    """
    CREATE TABLE users (
        sentence VARCHAR
    );
    """
    )
except:
    pass




def hook_db(text = None):

    """Used to save what was said"""

    global db_list
    #global word_list


    db_list.append(text)

    connection.execute(
    """
    INSERT INTO users (sentence) VALUES (?);
    """,
    text
    )
    return db_list

def insert_db(text):

    connection.execute(
  """                                                                                                  
    INSERT INTO users (sentence) VALUES                                                 (?);                                                             
    """,
    text
    )

def output_db():

    s = select([users])
    result = conn.execute(s) 
    return(result)

def input_(input__: dict):
    global word_list
    word_list = input__
    return word_list

我知道代码没有多大意义,但有人知道为什么我会收到以下错误吗?

  File "/home/tsumugi/python/git_python/kontainer/kontena/utils/dbutils.py", line 60,  in output_db
    s = select([users])
NameError: name 'users' is not defined

我在"选择"部分下阅读了以下教程http://docs.sqlalchemy.org/en/rel_0_8/core/tutorial.html。它告诉我这样做。

1 个答案:

答案 0 :(得分:2)

首先需要define the users Table

users = Table('user', metadata, Column('sentence', String()))

完整示例:

from sqlalchemy import create_engine, Table, Column, String, MetaData, select

engine = create_engine('sqlite:///:memory:', echo=True)
metadata = MetaData(engine)

users = Table('user', metadata, Column('sentence', String()))
metadata.create_all(engine)

connection = engine.connect()

s = select([users])
result = connection.execute(s)  
相关问题