在处理表格之前,我需要确认表格的架构与执行代码完全对应。我知道有一个命令
我不想手动解析每个具有其属性的列。
我不能仅通过split&join或regexp删除重复的空格,因为有时它们并没有重复,但仍然是多余的(例如,在括号附近)。
看起来验证表格架构是一个非常常见的任务,但我无法有效地实现它。
更新:
我正在考虑另一种可能的方法:创建一个临时表格,并使用一些内部sqlite函数将其架构与目标表格的架构进行比较。这样行得通吗?
.schema tablename
,其结果可以进行散列,并与实际架构的散列进行比较。问题是,存储的架构包含创建表时使用的所有多余字符(重复制表符、空格、换行符等),如果我在下一个版本的代码中更改了架构内的空格数,则无法识别该表格。我不想手动解析每个具有其属性的列。
我不能仅通过split&join或regexp删除重复的空格,因为有时它们并没有重复,但仍然是多余的(例如,在括号附近)。
看起来验证表格架构是一个非常常见的任务,但我无法有效地实现它。
更新:
我正在考虑另一种可能的方法:创建一个临时表格,并使用一些内部sqlite函数将其架构与目标表格的架构进行比较。这样行得通吗?
.tables
),然后对于每个表,运行pragma table_info(table);
。 - Dan