SQLite索引在删除表时会自动删除吗?

时间:2015-09-01 20:55:31

标签: sqlite

说,如果我第一次使用SQLite3数据库创建一个表:

CREATE TABLE `t3` (
    `f0` INTEGER PRIMARY KEY AUTOINCREMENT, 
    `f1` INTEGER NOT NULL REFERENCES `t2`(`f0`) ON DELETE CASCADE, 
    `f2` INTEGER NOT NULL REFERENCES `t1`(`f0`) ON DELETE CASCADE, 
    `f3` INTEGER NOT NULL, 
    `f4` BLOB, 
    `f5` BLOB, 
    `f6` BLOB, 
    `f7` BLOB, 
    `f8` BLOB, 
    `f9` BLOB, 
    `fa` BLOB)

然后在该表上创建了一个索引:

CREATE INDEX `it31` ON `t3`(`f1`)

因此,在此表中插入了一些行后,如果我通过执行以下操作将其删除:

DROP TABLE `t3`

它是否也会删除it31索引,还是在删除表之前需要删除索引?

1 个答案:

答案 0 :(得分:3)

是的,文档说明:

  

与表关联的所有索引和触发器也将被删除。

来自https://sqlite.org/lang_droptable.html