Kysely: Inserting data

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