相关疑难解决方法(0)

Sqlite/SQLAlchemy:如何强制执行外键?

新版本的SQLite能够强制执行外键约束,但为了向后兼容,您必须分别为每个数据库连接打开它!

sqlite> PRAGMA foreign_keys = ON;
Run Code Online (Sandbox Code Playgroud)

我正在使用SQLAlchemy - 我怎样才能确保它始终打开?我试过的是这个:

engine = sqlalchemy.create_engine('sqlite:///:memory:', echo=True)
engine.execute('pragma foreign_keys=on')
Run Code Online (Sandbox Code Playgroud)

......但它不起作用!...我错过了什么?

编辑: 我认为我的真正问题是我安装了多个版本的SQLite,并且Python没有使用最新的版本!

>>> import sqlite3
>>> print sqlite3.sqlite_version
3.3.4
Run Code Online (Sandbox Code Playgroud)

但我刚刚下载了3.6.23并将exe放在我的项目目录中!我怎样才能弄清楚它正在使用哪个.exe并进行更改?

python sqlite sqlalchemy foreign-keys

32
推荐指数
6
解决办法
1万
查看次数

标签 统计

foreign-keys ×1

python ×1

sqlalchemy ×1

sqlite ×1