code: def insert(self, data_or_list_of_data):
          
          result = None
  
          def insert_data(data):
              sql = build_insert(self.name, data)
              row_count = self.cursor.execute(sql)
  
              if row_count:
                  return self.cursor.lastrowid
              else:
                  return None
  
          value_to_be_inserted = []
  
          if isinstance(data_or_list_of_data, list):
              result = []
              for data in data_or_list_of_data:
                  r = insert_data(data)
                  result.append(r)
          else:
              result = insert_data(data_or_list_of_data)
          
          return result
docs: Insert data into the table.
          
          :Examples:
          
          >>> user_table.insert({'username': 'Jude'}) # Insert one row
          >>> user_table.insert([{'username': 'Andy'}, {'username': 'Julia'}, ...]) # Insert multiple rows
  
          :Parameters:
  
          - data_or_list_of_data: Either a dict or a list of dict
  
          :Return: id or list of ids of inserted row