熟悉 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)))