---
title: "D1Binding"
description: "The slice of Cloudflare's D1 API this driver uses."
url: "https://pitlane.tools/package/data-table-d1/interface/D1Binding"
---

# D1Binding

```ts
import type { D1Binding } from "@pitlane/data-table-d1";
```

The slice of Cloudflare's D1 API this driver uses.

Declared structurally rather than imported from `@cloudflare/workers-types`, so the package adds no dependency and no ambient global types to a consumer that does not already have them. A real `D1Database` binding satisfies it; so does a test double.

## Methods

### batch()

```ts
batch(statements): Promise<D1Result[]>;
```

Runs the statements in order inside one transaction, resolving to one result each.

#### Parameters

##### statements

[`D1PreparedStatement`](https://pitlane.tools/package/data-table-d1/interface/D1PreparedStatement.md)\[\]

#### Returns

`Promise`\<[`D1Result`](https://pitlane.tools/package/data-table-d1/interface/D1Result.md)\[\]>

---

### exec()

```ts
exec(query): Promise<unknown>;
```

Runs raw SQL, which may hold several statements, without binding or returning rows.

#### Parameters

##### query

`string`

#### Returns

`Promise`\<`unknown`>

---

### prepare()

```ts
prepare(query): D1PreparedStatement;
```

Compiles one SQL statement with `?` placeholders, without running it.

#### Parameters

##### query

`string`

#### Returns

[`D1PreparedStatement`](https://pitlane.tools/package/data-table-d1/interface/D1PreparedStatement.md)
