【发布时间】:2011-02-06 14:00:26
【问题描述】:
新版本的SQLite可以强制执行外键约束,但是为了向后兼容,你必须为每个数据库连接单独开启它!
sqlite> PRAGMA foreign_keys = ON;
我正在使用 SQLAlchemy——如何确保它始终处于开启状态? 我试过的是这样的:
engine = sqlalchemy.create_engine('sqlite:///:memory:', echo=True)
engine.execute('pragma foreign_keys=on')
...但它不起作用!...我错过了什么?
编辑: 我认为我真正的问题是我安装了多个版本的 SQLite,而 Python 没有使用最新的版本!
>>> import sqlite3
>>> print sqlite3.sqlite_version
3.3.4
但是我刚下载了3.6.23,把exe放到我的项目目录下! 如何确定它正在使用哪个 .exe 并进行更改?
【问题讨论】:
标签: python sqlite foreign-keys sqlalchemy