在SQLite中如何从另一个表创建带有约束的表?

5

我想从另一个带有约束条件的表创建表格?

我使用了这个查询语句 "create table destination as select * from source;" 来创建表格。

但它只复制了表中的列名,没有复制列的约束条件。

1个回答

4

有一个特殊的表名叫做 sqlite_master,它包含每个表的完整 CREATE TABLE 语句(在 ALTER TABLE 过程中会作出相应调整)。

我会让我的 应用程序 检索该 CREATE TABLE 语句:

SELECT sql FROM sqlite_master WHERE type='table' AND name='source';

然后我会在CREATE TABLE标记之后更改表名,并将结果作为新的sqlite查询执行。

我认为在sqlite的纯SQL中不可能做到这一点,除非使用扩展。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接