我有一个使用自动生成的 id 作为主键的 SQLite 表。我想使用 UNION SELECT 进行批量插入,但除非我为每一行指定一个 id,否则它似乎并不高兴:
sqlite> create table CelestialObject (id INTEGER PRIMARY KEY, name VARCHAR(25), distance REAL);
sqlite> insert into CelestialObject select 'Betelguese' as name, 200 as distance UNION SELECT 'Procyon', 500;
Error: table CelestialObject has 3 columns but 2 values were supplied
如果我在创建表时为 id 指定 AUTOINCREMENT(即“id INTEGER PRIMARY KEY AUTOINCREMENT”),则错误是相同的。
谁能告诉我是否有一种方法可以在不为每一行指定 id 的情况下使用批量插入?