You'll need to use the sqlite RETURNING clause
import { Database } from "bun:sqlite";
// generate some data
let db = new Database(":memory:");
db.run(
"CREATE TABLE foo (id INTEGER PRIMARY KEY AUTOINCREMENT, greeting TEXT)"
);
const query = await db.query(
"INSERT INTO foo (greeting) VALUES ($greeting) RETURNING id;",
{
$greeting: "Welcome to bun!",
}
);
console.log("running");
console.log(await query.get());
// { id: 1 }
console.log(await query.all());
// [{ id: 1 }]
console.log(await query.values());
// [[1]]
console.log(await query.run());
// undefined