原始数据库访问
尽管 Prisma Dart 客户端的模型委托 API 涵盖了大多数数据库操作,但在某些情况下,您可能需要直接访问数据库以执行特定于 SQL 方言的操作。
在 Prisma Dart 客户端中,您可以访问$raw
属性以获取当前数据库连接的原始客户端实例。此客户端提供以下两种方法
$raw.query
$raw.execute
$raw.query
执行原始查询,例如
dart
final result = await prisma.$raw.query('SELECT * FROM "User"'); // PostgreSQL
$raw.execute
执行原始查询,例如
dart
final result = await prisma.$raw.execute('DELETE FROM "User"'); // PostgreSQL
参数
$raw.query
和 $raw.execute
支持参数,例如
dart
// PostgreSQL
final result = await prisma.$raw.query(
'SELECT * FROM "User" WHERE "id" = \$1',
[1],
);
// MySQL
final result = await prisma.$raw.query(
'SELECT * FROM `User` WHERE `id` = ?',
[1],
);
提示
SQL 模板字符串因您使用的数据库而异,您应该查阅您正在使用的数据库的文档以了解有关 SQL 方言的详细信息。