在其他数据库(如MySQL)中,我只需要这样做:
上述方法存在的问题是我需要手动查找哪些列被索引了。我想要自动完成这个过程,类似下面这样的方式:
ALTER TABLE demo RENAME INDEX old_index TO new_index
如何最好地解决SQLite的问题?
更新
SQLite似乎不支持这种语法。在这种情况下,有什么解决方法可以使用呢?例如:
DROP INDEX old_index;
CREATE INDEX new_index ON demo(col1, col2);
上述方法存在的问题是我需要手动查找哪些列被索引了。我想要自动完成这个过程,类似下面这样的方式:
set columns = select columns indexed by old_index;
DROP INDEX old_index;
CREATE INDEX new_index ON demo(columns);