# @drizzle-adapter/mysql-core 中文文档

规范地址：https://npmcn.com/package/%40drizzle-adapter/mysql-core/

版本：1\.1\.2
npm 元数据更新时间：2026-09-24T16:37:45.731Z
中文译文更新时间：2026-11-12T20:12:06.075Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40drizzle-adapter/mysql-core
原文对照：https://npmcn.com/package/%40drizzle-adapter/mysql-core/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：18.3 kB，15 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2024-12-03T05:40:05.558Z
- 最新版本发布：2026-09-24T16:37:45.578Z
- 近 30 天下载量：33165（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：13（近 12 个月 2 个）

## 中文简介

暂无中文简介

## 安装

```sh
npm install @drizzle-adapter/mysql-core
```

也可以使用：`pnpm add @drizzle-adapter/mysql-core`、`yarn add @drizzle-adapter/mysql-core`、`bun add @drizzle-adapter/mysql-core`

## README

# @ 细雨适应器/ mysql- core

Drizzle适配器生态系统共享MySQL功能.

## 概览

这个 `@drizzle-adapter/mysql-core` 软件包提供了MySQL兼容适配器在Drizzle适配器生态系统中使用的共享MySQL功能. 此软件包是一个内部依赖:

-   [@ 细雨适应器/ mysql2](https://npmcn.com/package/%40drizzle-adapter/mysql2)
-   [@ 细雨适应器/ tidb- server](https://npmcn.com/package/%40drizzle-adapter/tidb-serverless)

## 目的

这个软件包将 MySQL 特定功能标准化,跨越不同的 MySQL 兼容适配器:

-   常见 MySQL 数据类型定义
-   共享 MySQL 查询建筑逻辑
-   统一 MySQL 错误处理
-   常见 MySQL 工具函数

## 安装

```bash
# This package is typically not installed directly but as a dependency of MySQL adapters
pnpm install @drizzle-adapter/mysql-core
```

## 适用于适配器开发者

如果您正在为 Drizzle 适应器生态系统开发一个新的 MySQL 兼容适配器, 您应该使用此软件包来确保与其他 MySQL 适配器的一致性 :

```typescript
import { MySQLDrizzleDataTypes } from '@drizzle-adapter/mysql-core';

export class YourMySQLAdapter implements DrizzleAdapterInterface {
  public getDataTypes(): MySQLDrizzleDataTypes {
    return new MySQLDrizzleDataTypes();
  }
  
  // ... rest of your adapter implementation
}
```

### 数据类型

该包提供了标准化的 MySQL 数据类型定义:

```typescript
const dataTypes = new MySQLDrizzleDataTypes();

const table = dataTypes.dbTable('example', {
  // Numeric types
  id: dataTypes.dbBigInt('id', { mode: 'number' }).primaryKey().autoincrement(),
  count: dataTypes.dbInt('count'),
  price: dataTypes.dbDecimal('price', { precision: 10, scale: 2 }),
  
  // String types
  name: dataTypes.dbVarChar('name', { length: 255 }),
  description: dataTypes.dbText('description'),
  
  // Date/Time types
  createdAt: dataTypes.dbTimestamp('created_at').defaultNow(),
  updatedAt: dataTypes.dbTimestamp('updated_at').onUpdateNow(),
  
  // Other types
  status: dataTypes.dbEnum('status', ['active', 'inactive']),
  metadata: dataTypes.dbJson('metadata'),
  isEnabled: dataTypes.dbBoolean('is_enabled')
});
```

### 处理错误

该软件包为 MySQL 特定错误提供统一错误处理:

```typescript
import { handleMySQLError } from '@drizzle-adapter/mysql-core';

try {
  // Your database operation
} catch (error) {
  throw handleMySQLError(error);
}
```

### 查询大楼

该套件包括用于构建 MySQL 特定查询的公用事业:

```typescript
import { 
  buildInsertQuery,
  buildUpdateQuery,
  buildDeleteQuery,
  buildSelectQuery
} from '@drizzle-adapter/mysql-core';

// Build INSERT query
const insertQuery = buildInsertQuery(table, data);

// Build UPDATE query with JSON operations
const updateQuery = buildUpdateQuery(table, {
  metadata: sql`JSON_SET(metadata, '$.key', 'value')`
});

// Build DELETE query with conditions
const deleteQuery = buildDeleteQuery(table, conditions);

// Build SELECT query with joins
const selectQuery = buildSelectQuery({
  table,
  joins: [...],
  conditions: [...],
  orderBy: [...]
});
```

### 类型映射

该软件包处理 MySQL 特定类型映射 :

```typescript
import { mapMySQLType } from '@drizzle-adapter/mysql-core';

// Map JavaScript types to MySQL types
const mysqlType = mapMySQLType(value);

// Map MySQL types to JavaScript types
const jsValue = mapToJavaScript(mysqlValue, mysqlType);
```

## 捐款

这个软件包作为Drizzle适配器生态系统的一部分得以维护. 如果你愿意贡献:

1.  叉子存储器
2.  创建您的特性分支( E)`git checkout -b feature/amazing-feature`(中文(简体) )
3.  提交更改( E)`git commit -m 'Add some amazing feature'`(中文(简体) )
4.  推向分行(`git push origin feature/amazing-feature`(中文(简体) )
5.  打开拉请求

## 相关软件包

-   [@ 细雨适应器/ 核心](https://npmcn.com/package/%40drizzle-adapter/core) - 核心接口和类型
-   [@ 细雨适应器/ mysql2](https://npmcn.com/package/%40drizzle-adapter/mysql2) - 使用 Mysql2 的 MySQL 适配器
-   [@ 细雨适应器/ tidb- server](https://npmcn.com/package/%40drizzle-adapter/tidb-serverless) - TiDB 无服务器适配器

## 常见问题

### 如何安装 @drizzle-adapter/mysql-core？

在项目目录运行 npm install @drizzle-adapter/mysql-core，或使用 pnpm add / yarn add / bun add。

### @drizzle-adapter/mysql-core 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @drizzle-adapter/mysql-core 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @drizzle-adapter/mysql-core 可以商用吗？

@drizzle-adapter/mysql-core 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @drizzle-adapter/mysql-core 的下载量有多少？

根据 npm 官方下载统计，@drizzle-adapter/mysql-core 在 2026/10/13 – 2026/11/11 这 30 天内被下载 33,165 次，日均约 1,106 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @drizzle-adapter/mysql-core 还在维护吗？

最新版本 1\.1\.2 发布于 2026/09/25（1 个月前）；至今共发布 13 个版本，其中过去 12 个月发布了 2 个；首次发布于 2024/12/03。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

