Kysely: Inserting data

Join the AI Workshop to learn more about AI and how it can be applied to web development. Next cohort February 1st, 2026

The AI-first Web Development BOOTCAMP cohort starts February 24th, 2026. 10 weeks of intensive training and hands-on projects.


To insert data in a table, we use insertInto(), like this:

await db
  .insertInto('tablename')
  .values({ name: 'test' })
  .execute()

If you want to add multiple rows at the same time, pass an array to .values():

await db
  .insertInto('tablename')
  .values([ 
    { name: 'test' },
    { name: 'test2' },
    { name: 'test3' },
  ])
  .execute()

It’s quite common to insert something and you want to get the id of that new item, so you can reference it in the code.

You can do this:

const id = await db
  .insertInto('tablename')
  .values({ name: 'test' })
  .returning('id')
  .executeTakeFirst()

Lessons in this unit:

0: Introduction
1: Installing Kysely
2: Select queries
3: ▶︎ Inserting data
4: Deleting data
5: Updating data
6: Joins