insertOrIgnore method

  1. @override
Future<bool> insertOrIgnore(
  1. Map<String, dynamic> values
)
inherited

Implementation

@override
Future<bool> insertOrIgnore(
  Map<String, dynamic> values,
) async {
  try {
    if (values.isEmpty) {
      throw InvalidArgumentException(
        "Values map cannot be empty for insertOrIgnore operation.",
      );
    }
    conn = await getConnection();
    final columns = values.keys.toList();
    final paramBindings = <String, dynamic>{};
    final placeholders = values.keys.map((key) {
      final paramName = _nextParamName();
      paramBindings[paramName] = values[key];
      return ":$paramName";
    }).join(", ");

    final query =
        "INSERT IGNORE INTO $getTable (${columns.join(', ')}) VALUES ($placeholders)";
    await conn.execute(query, paramBindings);
    return true;
  } catch (e) {
    rethrow;
  }
}