insertGetId method
Implementation
@override
Future insertGetId(Map<String, dynamic> values, [String? sequence]) async {
try {
if (values.isEmpty) {
throw InvalidArgumentException(
"Values map cannot be empty for insertGetId 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 INTO $getTable (${columns.join(', ')}) VALUES ($placeholders)";
final id = await conn.insert(query, paramBindings);
return id;
} catch (e) {
rethrow;
}
}