-- Добавляем столбец area_price в complex_rooms


ALTER TABLE complex_rooms ADD COLUMN area_price DECIMAL(12,2) DEFAULT NULL;



-- Обновляем все существующие квартиры( для всех устанавливаем area_price считая total_amount / area)

UPDATE complex_rooms
SET area_price = total_amount / area
WHERE (area_price IS NULL OR area_price = 0)
  AND area > 0;


-- Создание триггера, который при добавлении в базу новой записи complex_rooms будет автоматически считать
-- цену за квадратный метр area_price
-- Для этого в таблице complex_rooms создаем новый триггер где 
-- Name  calculate_area_price_before_insert
-- Время before 
-- Собитые Insert 
-- а определение SQL внизу 

IF NEW.area IS NOT NULL AND NEW.total_amount IS NOT NULL AND NEW.area > 0 THEN
  SET NEW.area_price = NEW.total_amount / NEW.area;
ELSE
  SET NEW.area_price = NULL;
END IF;

--Обновление цени  area_price при изменение в total_amount или area
-- Для этого в таблице complex_rooms создаем новый триггер где 
-- Name  calculate_area_price_before_update	
-- Время before 
-- Собитые update 
-- а определение SQL внизу 

IF NEW.area IS NOT NULL AND NEW.total_amount IS NOT NULL AND NEW.area > 0 THEN
  SET NEW.area_price = NEW.total_amount / NEW.area;
ELSE
  SET NEW.area_price = NULL;
END IF;