我正在尝试使用PRAGMA foreign_key_check;但没有成功:(
我在数据库上做了一些外键违规(使用PRAGMA foreign_keys = OFF;),然后我将其设置为 true 然后启动,PRAGMA foreign_key_check;但这没有返回任何结果。
但是,当我尝试插入与外键冲突完全相同的行时,PRAGMA foreign_keys = ON;我确实收到外键约束冲突错误。
我正在使用 SQLite 3.7.3。
关于这个命令,我有什么遗漏吗?有错误吗?
谢谢
编辑:我刚刚尝试过 3.8.3.1(这次是更高版本;))但无法得到任何结果:(
但是,其他一些命令似乎无法按预期工作(尤其是 .schema !?):
SQLite version 3.8.3.1 2014-02-11 14:52:19
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> attach "D:\MusicLib_Minimal_TEST_FOREIGN_KEYS.db" as db1;
sqlite> .schema device
sqlite> PRAGMA foreign_keys=ON;
sqlite> PRAGMA foreign_keys;
1
sqlite> PRAGMA foreign_key_check;
sqlite> select * from device
...> ;
1|test|/|/|0|0
sqlite> select * from playlist
...> ;
sqlite> PRAGMA integrity_check;
ok
sqlite> .dump device
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
COMMIT;
sqlite> PRAGMA table_info(device);
0|idDevice|INTEGER|1||1
1|name|TEXT|1||0
2|source|TEXT|1||0
3|destination|TEXT|1||0
4|idPlaylist|INTEGER|1||0
5|idMachine|INTEGER|1||0
sqlite>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3736 次 |
| 最近记录: |