def insert(self, data = {}):
		'''add record'''
		#check and validate data
		validate = Validate()
		validate._validate(data, self._dataValidate)

		fields = ''
		values = ''
		for key,value in data.items():
			fields = fields + "`" + key + "`, "
			values = values + "'" + value + "', "
		fields = fields[:-2]
		values = values[:-2]
		sql = 'insert into '+ self._name +' (' + fields + ') values (' + values + ')'

		return self.db.execute_lastrowid(sql)
	def save(self, data = {}, id = 0):
		'''update record by primary'''
		#check and validate data
		validate = Validate()
		validate._validate(data, self._dataValidate)
		
		fields = ''
		for key,value in data.items():
			fields = fields + "`" + key + "` = '" + value + "', "
		fields = fields[:-2]
		if id == 0:
			where = ' limit 1'
		else:
			where = ' where ' + self._primary + " ='" + str(id) + "'"
		sql = 'update '+ self._name +' set ' + fields + where

		return self.db.execute_rowcount(sql)
	def update(self, data = {}, where = "", flag = 0):
		'''update record'''
		#check and validate data
		validate = Validate()
		validate._validate(data, self._dataValidate)

		fields = ''
		for key,value in data.items():
			fields = fields + "`" + key + "` = '" + value + "', "
		fields = fields[:-2]
		if not where:
			where = ' where 1 = 1'
		else:
			where = ' where ' + where
		if flag == 0:
			limit = ' limit 200'
		else:
			limit = ''
		sql = 'update '+ self._name +' set ' + fields + where + limit

		return self.db.execute_rowcount(sql)