python - Sql Alchemy What is wrong? -
i got tutorial
when compile got error message
the debugged program raised exception unhandled nameerror "name 'boundmetadata' not defined"
i use latest sqlalchemy .
how fixed this?
after read modified own latest version sqlalchemy:
from sqlalchemy import * engine = create_engine('mysql://root:mypassword@localhost/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) = 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] row in rs: print row.name, 'is', row.age, 'years old
it raise error
raise exc.dbapierror.instance(statement, parameters, e, connection_invalidated=is_disconnect) sqlalchemy.exc.programmingerror: (programmingerror) (1064, "you have error in sql syntax; check manual corresponds mysql server version right syntax use near ' \n\tprimary key (user_id)\n)' @ 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' ()
this tutorial sqlalchemy version 0.2. since actual version 0.5.7, i'd tutorial severely outdated.
try official 1 instead.
edit:
now have different question. should've asked question instead of editing one.
your problem that
column('password', string),
doesn't specify size column.
try
column('password', string(20)),
instead.
Comments
Post a Comment