命令“pragma table_info('tablename')”列出了外键的列信息和“pragma foreign_key_list('tablename')”。 如何显示表格的其他约束(检查,唯一)? 只解析表“sqlite_master”的字段“sql”?有没有办法在SQLite中获取表的约束?
11
A
回答
6
我认为唯一的办法就是这样做,就是你建议的方式,解析sqlite_master数据库的sql列。
Python代码做到这一点:
import sqlite3
con = sqlite3.connect("example.sqlite3")
cur = con.cursor()
cur.execute("select sql from sqlite_master where type='table' and name='example_table'")
schema = cur.fetchone()
con.close()
entries = [ tmp.strip() for tmp in schema[0].splitlines() if tmp.find("constraint")>=0 or tmp.find("unique")>=0 ]
for i in entries: print(i)
3
还有pragma index_list('tablename')
+7
并非所有索引都是约束,并非所有约束都是索引。 – 2013-10-27 09:15:09
相关问题
- 1. 有没有办法在Objective-C中获取SQLite中的表的大小?
- 2. 有没有办法在db2 v7中启用/禁用约束?
- 3. 有没有办法在pgsql中捕获延迟约束的异常?
- 4. 有没有办法在sql中获取父表的父表?
- 5. 有没有办法在TinkerGraph上定义模式约束?
- 6. 获取有关约束
- 7. 有没有办法在SQLITE中获取视图的列数据类型?
- 8. 有没有办法将一个类型参数约束为SqlDbType?
- 9. 有没有办法在oracle中禁用/启用未命名的约束?
- 10. 有没有什么办法在SQLite中标记一个表?
- 11. 在删除行之前,有没有办法在MySql中检查约束违规?
- 12. 有没有办法获取API来反应js中的表?
- 13. 有没有办法组织自动布局定位约束列表?
- 14. Crystal Reports:有没有办法在子报表中有效地获取子报表?
- 15. 有没有办法在spritekit中读取/获取fps swift
- 16. 有没有办法记录SQLite查询?
- 17. 有没有办法在PHP SDK中从Parse获取所有类?
- 18. 有没有办法在jQuery中获取动画的最终值?
- 19. 有没有办法在Haskell中获取异常的类型?
- 20. 有没有办法在javascript中获取返回值的类型?
- 21. 有没有办法在Winforms TabControl中获取TabPage的边界?
- 22. 为什么没有办法在C#中约束构造函数的签名?
- 23. C#有没有办法在Excel工作表中获取表格对象
- 24. 有没有办法在Silverlight MediaElement对象中获取帧号?
- 25. 有没有办法在控制器中获取PartialView HTML内容?
- 26. 有没有办法在Z3中获取默认上下文?
- 27. 有没有办法在Docker Swarm中获取日志?
- 28. 有没有办法在Couchbase中获取文档删除日志?
- 29. 有没有办法在ec2实例中获取实例ID
- 30. 有没有办法在php中获取视频长度?
还有 “语法索引 - 目录( '表名')” 见http://www.sqlite.org /pragma.html#pragma_index_list – Nabab 2013-02-13 01:02:01
@Nabab您应该真的考虑将其添加为答案 – 2013-10-26 20:36:23