Den1xxx
Постоялец
- Регистрация
- 15 Янв 2014
- Сообщения
- 290
- Реакции
- 168
- Автор темы
- #1
Здравствуйте.
Чего-то не соображу, помогите пожалуйста.
При парсинге из 1С заношу товары во временную таблицу, выбирая определённый склад.
Структура временной таблицы
Всё ок.
Теперь из временной таблицы нужно перенести в склады.
Структура таблицы складов
При вставке в `store` мы одним запросом хотим вставить всё напарсенное из временной таблицы, т.е. например поле store=1
Как сделать запрос: если в таблице `store` уже есть значение поля store=1 и item_id совпадает с временной таблицей, то обновить значения, иначе — вставить новое?
Чего-то торможу, голову сломал уже.
Чего-то не соображу, помогите пожалуйста.
При парсинге из 1С заношу товары во временную таблицу, выбирая определённый склад.
Структура временной таблицы
Код:
CREATE TABLE `import_items` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Номер записи',
`item_id` varchar(11) NOT NULL COMMENT 'Ид товара сайта',
`item_id_1c` varchar(255) NOT NULL COMMENT 'Ид товара 1С',
`cat_id_1c` varchar(255) NOT NULL COMMENT 'Ид категории 1С',
`name` varchar(255) NOT NULL COMMENT 'Имя объекта',
`price` varchar(25) DEFAULT NULL COMMENT 'Цена оптовая',
`price1` varchar(25) DEFAULT NULL COMMENT 'Цена 1 дилера',
`price2` varchar(25) DEFAULT NULL COMMENT 'Цена 2 дилера',
`price3` varchar(25) DEFAULT NULL COMMENT 'Цена 3 дилера',
`price4` varchar(25) DEFAULT NULL COMMENT 'Цена 4 дилера',
`avail_1c` varchar(255) NOT NULL COMMENT 'Статус',
`quantity` varchar(25) NOT NULL COMMENT 'Количество',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1215 DEFAULT CHARSET=utf8 COMMENT='Объекты для записи каталога из 1С'
Теперь из временной таблицы нужно перенести в склады.
Структура таблицы складов
Код:
CREATE TABLE `store` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Номер записи',
`item_id` varchar(11) NOT NULL COMMENT 'Ид товара сайта',
`name` varchar(255) NOT NULL COMMENT 'Имя объекта',
`store` int(5) NOT NULL COMMENT 'Номер склада',
`code_1c` varchar(255) DEFAULT NULL,
`price` varchar(255) DEFAULT NULL COMMENT 'Цена',
`price1` varchar(255) DEFAULT NULL COMMENT 'Цена 1',
`price2` varchar(255) DEFAULT NULL COMMENT 'Цена 2',
`price3` varchar(255) DEFAULT NULL COMMENT 'Цена 3',
`price4` varchar(255) DEFAULT NULL COMMENT 'Цена 4',
`quantity` float DEFAULT NULL COMMENT 'Количество',
`date` datetime NOT NULL COMMENT 'Время изменения',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Склад'
При вставке в `store` мы одним запросом хотим вставить всё напарсенное из временной таблицы, т.е. например поле store=1
Как сделать запрос: если в таблице `store` уже есть значение поля store=1 и item_id совпадает с временной таблицей, то обновить значения, иначе — вставить новое?
Чего-то торможу, голову сломал уже.