def delete_record(self, table, filter_fields, filter_values): # ensure all filter fields have values filter_field_len = len(filter_fields) filter_values_len = len(filter_values) if filter_field_len < 1 or filter_field_len != filter_values_len: raise MySQLError('Invalid field-value mapping in filter') # construct update field-value list query = 'DELETE FROM ' + table # construct filter field-value list query += ' WHERE (' query += ', '.join(filter_fields) query += ') = (%s' query += ', %s'*(len(filter_values) - 1) query += ')' logging.info(query + ' with ' + str(filter_values)) # do actual transaction try: mysql_db_handler.run_update(query, filter_values) except MySQLError as e: logging.error(e)
def insert_record(self, table, fields, values): # ensure all fields have values field_len = len(fields) values_len = len(values) if field_len < 1 or field_len != values_len: raise MySQLError('Invalid field-value mapping') # construct query and parameter list query = 'INSERT INTO ' + table + ' (' query += ', '.join(fields) query += ') VALUES (%s' query += ', %s'*(len(fields) - 1) query += ')' logging.info(query + ' with ' + str(values)) # do actual transaction try: mysql_db_handler.run_update(query, values) except MySQLError as e: logging.error(e)
def update_record(self, table, filter_fields, filter_values, fields, values): # ensure all filter fields have values filter_field_len = len(filter_fields) filter_values_len = len(filter_values) if filter_field_len < 1 or filter_field_len != filter_values_len: raise MySQLError('Invalid field-value mapping in filter') # ensure all fields have values field_len = len(fields) values_len = len(values) if field_len < 1 or field_len != values_len: raise MySQLError('Invalid field-value mapping') # construct update field-value list query = 'UPDATE ' + table + ' SET ' query += ' = %s, '.join(fields) query += ' = %s' # construct filter field-value list query += ' WHERE (' query += ', '.join(filter_fields) query += ') = (%s' query += ', %s'*(len(filter_values) - 1) query += ')' # complete parameter list params = values + filter_values logging.info(query + ' with ' + str(params)) # do actual transaction try: mysql_db_handler.run_update(query, params) except MySQLError as e: logging.error(e)