我想使用查询结果创建一个表。但我也想添加一个自动递增的主键字段。有可能用SQLite实现吗?
示例:从表a中选择两个字段。但是我希望输出模式为(id,field_a,field_b)。
create table foo as
select field_a, field_b
from tablel_a
目前使用SQLite 3,但使用其他数据库系统的解决方案也不错。
这是不可能用单个语句实现的;CREATE TABLE ... AS ...
不创建约束。
您必须使用两种语句:
CREATE TABLE foo ( ID INTEGER PRIMARY KEY, [...] );
INSERT INTO foo (...) SELECT ...;
默认情况下,sqlite会在您创建的每个表中添加一个rowid列,因此,除非此处有特定需要,否则您可以使用此rowid列
看看这个https://www.sqlite.org/lang_createtable.html#rowid