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;
  }
}