sql - PRAGMA table_info(table-name) 在 SQLite 数据库中如何工作?

标签 sql sqlite pragma

我开始学习 SQLite,并了解到我可以使用 PRAGMA table_info(table-name) 命令获取任何表的列信息,而无需在文件中的任何位置指定列名称。

PRAGMA 如何知道特定表需要哪些列?我们是否必须在 bin 文件或环境文件中指定有关表的任何信息?

最佳答案

Hima,你把一切都搞颠倒了。

当然,PRAGMA table_info 返回表的列 - 这是该指令的目的。

它是如何工作的:

  1. CREATE TABLE NewTable(col1 int, col2 text) 在某个时间点在 sqlitedb 中发出的语句
  2. 因此,sqlitedb 的元数据发生了更改:a) 'NewTable' 添加到表列表中,b) ('NewTable','col1'), ('NewTable','col2') 添加到列列表中
  3. 然后有人执行 PRAGMA table_info(NewTable) - sqlite 查找元数据并提取 ('col1', 'col2')

关于sql - PRAGMA table_info(table-name) 在 SQLite 数据库中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43397992/

相关文章:

c - 在构建期间仅在标题中显示 #pragma 消息一次

c - 关于不正确的打包编译指示的警告

使用 max 函数的 SQL 内连接

php - 需要从输出中可用的最大 id 找到数据库值

c# - 是否可以保持DataSet与SQLite数据库自动同步?

node.js - 某些软件包(sqlite3、socket.io)的 npm install 在 Windows 7 上失败并出现错误 MSB8020

MySQL 处理按小时定义的休息时间

mysql - 有没有办法检查表中的新行是否与其他表中的条目一致? [SQL]

python - ImproperlyConfigured : SQLite 3. 需要 8.3 或更高版本(发现 3.7.17)

asp.net-mvc - 在 Razor View 中使用 #pragma 语句