SQLinfo.ru - Все о MySQL Highload++ 2017

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 07.08.2017 17:37:42

webJunior
Завсегдатай
Зарегистрирован: 30.03.2017
Сообщений: 27

Добавление и редактирование объявлений

Здравствуйте,

Допустим есть таблицы объявлений


--
-- Структура таблицы `cars`
--

CREATE TABLE `cars` (
  `id` int(10) UNSIGNED NOT NULL,
  `brand_id` int(10) UNSIGNED NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `title` varchar(100) NOT NULL,
  `text` text NOT NULL,
  `first_image_id` int(10) UNSIGNED NOT NULL,
  `price` mediumint(8) UNSIGNED NOT NULL,
  `car_year` smallint(4) UNSIGNED NOT NULL,
  `car_mileage` mediumint(8) UNSIGNED NOT NULL,
  `body_id` tinyint(2) UNSIGNED NOT NULL,
  `color_id` tinyint(2) UNSIGNED NOT NULL,
  `car_engine` smallint(5) UNSIGNED NOT NULL,
  `fuel_id` tinyint(1) UNSIGNED NOT NULL,
  `transmission_id` tinyint(1) UNSIGNED NOT NULL,
  `drive_id` tinyint(1) UNSIGNED NOT NULL,
  `car_condition` tinyint(1) UNSIGNED NOT NULL COMMENT '1 - автомобиль новый, 2 - состояние отличное, 3 - хорошее, 4 - битый',
  `car_custom` tinyint(1) UNSIGNED NOT NULL COMMENT '1 - растаможка  пройдена, 2- не пройдена',
  `car_barter` tinyint(1) UNSIGNED NOT NULL COMMENT '1 - бартер возможен, 2 - невозможен',
  `status` tinyint(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '0 - новое объявление, на рассмотрении, 1 - объявление активно, 2 - объявление не активно',
  `date` date NOT NULL COMMENT 'Дата создания объявления'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Структура таблицы `image_car`
--

CREATE TABLE `image_car` (
  `id` int(10) UNSIGNED NOT NULL,
  `car_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
  `image` varchar(255) NOT NULL,
  `thumb` varchar(255) NOT NULL,
  `date` date NOT NULL,
  `status` tinyint(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '0 - картинка загружена, но объявление еще не добавлено, 1 - объявление добавлено, 2- объявление удалено'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
 


После добавления объявления пользователем, объявление проходит модерацию. Это все реализовано с помощью поля статус в таблице cars. Но, что если пользователь редактирует объявление? Т.е после того как пользователь отправил новые данные, объявление должно оставаться активным, но новые данные должны пройти модерацию и после этого вступить в силу.

Придумал решение, создать отдельную таблицу temporary_car и хранить редактируемые данные там. После модерации переносить все в основную таблицу и удалять запись из  temporary_car. Но в таком случае придется так же создавать временную таблицу для изображений. Просьба помочь советом, как лучше это все организовать. Спасибо!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson