我想从另一个带有约束的表创建表?
我使用了这个查询“create table destination as select * from source;” 用于表创建。
但它只复制表中的列名,没有列约束。
有一个名为 的特殊表sqlite_master,保存每个表的完整CREATE TABLE语句(在 期间根据需要进行修改ALTER TABLE)。
我会让我的应用程序检索该CREATE TABLE语句:
SELECT sql FROM sqlite_master WHERE type='table' AND name='source';
Run Code Online (Sandbox Code Playgroud)
然后我将替换令牌后面的表名CREATE TABLE,并将结果作为新的 sqlite 查询执行。
我认为在没有扩展的 sqlite纯SQL中不可能做到这一点。