X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Запрос — заменить или вставить
Den1xxx
Den1xxx
Topic Starter сообщение 29.12.2016, 17:38; Ответить: Den1xxx
Сообщение #1


Здравствуйте.
Чего-то не соображу, помогите пожалуйста.
При парсинге из 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 совпадает с временной таблицей, то обновить значения, иначе — вставить новое?

Немного сумбуно написал. Иными словами, для примера.
Если в таблице store имеется строка с item_id=1237 и store=1, то UPDATE, если нет — INSERT.

Чего-то торможу, голову сломал уже.
Помогите, пожалуйста. Готов заплатить за помощь.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Degradator
Degradator
сообщение 2.1.2017, 20:11; Ответить: Degradator
Сообщение #2


Точно не уверен, но кажется вот так

INSERT INTO table (id,item, price) VALUES (1,"boots", 10),(2, "pants", 20) ON DUPLICATE KEY UPDATE item=VALUES(item), price=VALUES(price)

с селектом должно также сработать
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
Topic Starter сообщение 31.3.2018, 9:19; Ответить: Den1xxx
Сообщение #3


Вопрос закрыт, перепроектировал базу.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Создать видеоканал лучше в ютуб или телеграм?
10 uahomka 1782 24.3.2024, 4:21
автор: Alexand3r
Открытая тема (нет новых ответов) Запрос на бесплатные полезности
7 Tia2 1841 23.3.2024, 11:27
автор: Alexand3r
Открытая тема (нет новых ответов) Если статья не в индексе Google - она уникальна или нет?
2 uahomka 800 20.3.2024, 11:17
автор: Vmir
Открытая тема (нет новых ответов) Где больше пробив на кликандер или попандер или попап трафике?
1 Boymaster 613 20.3.2024, 9:50
автор: Skyworker
Горячая тема (нет новых ответов) Выполню качественную верстку макетов или разработка собственного, быстро и не дорого
от 45$
123 webche 116749 17.3.2024, 7:09
автор: webche


 



RSS Текстовая версия Сейчас: 29.3.2024, 2:55
Дизайн