tôi đã hướng dẫnSql Alchemy Có gì sai?
Khi tôi biên dịch đã được thông báo lỗi
The debugged program raised the exception unhandled NameError
"name 'BoundMetaData' is not defined"
Tôi sử dụng SQLAlchemy mới nhất.
Làm cách nào để khắc phục sự cố này?
Sau khi đọc tôi này được sửa đổi để riêng tôi cho phiên bản mới nhất SQLAlchemy:
from sqlalchemy import *
engine = create_engine('mysql://root:[email protected]/mysql')
metadata = MetaData()
users = Table('users', metadata,
Column('user_id', Integer, primary_key=True),
Column('name', String(40)),
Column('age', Integer),
Column('password', String),
)
metadata.create_all(engine)
i = users.insert()
i.execute(name='Mary', age=30, password='secret')
i.execute({'name': 'John', 'age': 42},
{'name': 'Susan', 'age': 57},
{'name': 'Carl', 'age': 33})
s = users.select()
rs = s.execute()
row = rs.fetchone()
print 'Id:', row[0]
print 'Name:', row['name']
print 'Age:', row.age
print 'Password:', row[users.c.password]
for row in rs:
print row.name, 'is', row.age, 'years old
Nó nâng lỗi
raise exc.DBAPIError.instance(statement, parameters, e, connection_invalidated=is_disconnect)
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 ' \n\tPRIMARY KEY (user_id)\n)' at line 5") '\nCREATE TABLE users (\n\tuser_id INTEGER NOT NULL AUTO_INCREMENT, \n\tname VARCHAR(40), \n\tage INTEGER, \n\tpassword VARCHAR, \n\tPRIMARY KEY (user_id)\n)\n\n'()
@Nosklo. Cảm ơn rất nhiều. Đó là những gì tôi muốn. – kn3l
Liên kết "chính thức" đó bị hỏng – dlchambers
Tôi nghĩ đây là liên kết chính thức tại thời điểm này: http://docs.sqlalchemy.org/en/latest/orm/tutorial.html –