insert method

Future<int> insert({
  1. required String table,
  2. required Map<String, dynamic> insertData,
  3. dynamic replace = false,
  4. dynamic debug = false,
})
return lastInsertID

await db.insert(
  table: 'table',
  insertData: {
    'telphone': '+113888888888',
    'create_time': 1620577162252,
    'update_time': 1620577162252,
  },
);

Implementation

Future<int> insert({
  required String table,
  required Map<String, dynamic> insertData,
  replace = false,
  debug = false,
}) async {
  if (insertData.isEmpty) {
    throw ('insertData.length!=0');
  }
  table = _tableParse(table);
  List<String> _fields = [];
  List<String> _values = [];
  insertData.forEach((key, value) {
    _fields.add('`$key`');
    _values.add(':$key');
    if (sqlEscape && value is String) {
      insertData[key] = sqlEscapeString(value);
    }
  });
  String _fieldsString = _fields.join(',');
  String _valuesString = _values.join(',');
  String _sql =
      '${replace ? 'REPLACE' : 'INSERT'} INTO $table ($_fieldsString) VALUES ($_valuesString)';
  ResultFormat result = await query(_sql, values: insertData, debug: debug);
  return result.lastInsertID;
}