熟悉 CREATE TABLE命令的用户可能会注意到此处的 VARCHAR 并没有指定长度,在 SQLite 和 Postgresql中,这是一种合法的数据类型,但是在其他数据库中,这是不允许的。因此如果是在其他数据中运行本示例,你还需要为 String 类型指定长度: ... Column('name', String(50)) String 的长度以及其他可控精度的字段名如:Integer, Numeric等等,在 SQLAlchemy 中仅在创建表的时候使用。 另外,对于 Firebird 和 Oracle 等需要通过序列化方式来创建新主键标识符的数据库,SQLAlchemy 并不会自动为其生成。对于这样的情况,你必须指定 Sequence 生成:
>>> from sqlalchemy import Sequence ... Column('id', Integer, Sequence('user_id_seq'), primary_key = True) 一个完整的 Table 实例如下:
>>> users_table = Table('users', metadata, ...
Column('id', Integer, Sequence('user_id_seq'), primary_key = True), ...
Column('name', String(50)), ...
Column('fullname', String(50)), ...
Column('password', String(12)))