---
id: insert
title: 'Create data: insert()'
slug: /insert
custom_edit_url: https://github.com/supabase/supabase/edit/master/spec/supabase_dart_v1_legacy.yml
---

import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'

Performs an INSERT into the table.

```dart
final res = await supabase
  .from('cities')
  .insert([
    {'name': 'The Shire', 'country_id': 554}
  ]).execute();
```

## Notes

- By default, every time you run `insert()`, the client library will make a `select` to return the full record.
  This is convenient, but it can also cause problems if your Policies are not configured to allow the `select` operation.
  If you are using Row Level Security and you are encountering problems, try setting the `returning` param to `minimal`.

## Examples

### Create a record

```dart
final res = await supabase
  .from('cities')
  .insert([
    {'name': 'The Shire', 'country_id': 554}
  ]).execute();
```

### Bulk create

```dart
final res = await supabase
  .from('cities')
  .insert([
    {'name': 'The Shire', 'country_id': 554},
    {'name': 'Rohan', 'country_id': 555},
  ]).execute();
```
