Nexus_Noob
Новичок
Здравствуйте.
Есть таблица:
Единственное поле, которое может содержать «NULL» это «commerceml_id».
Запрос устанавливает остаток товара в 0, хотя должен устанавливать в 6.
Подскажите в чем может быть причина такого поведения?
Есть таблица:
PHP:
CREATE TABLE IF NOT EXISTS `webstore_products` (
`id` int(11) NOT NULL,
`sort` int(12) DEFAULT '0',
`category_id` int(11) NOT NULL DEFAULT '0',
`image` varchar(512) NOT NULL,
`title` varchar(512) NOT NULL,
`url` varchar(512) NOT NULL,
`image_alt` varchar(512) NOT NULL,
`subcategories` text NOT NULL,
`analogues_products` text NOT NULL,
`gift` varchar(256) NOT NULL,
`discount` varchar(512) NOT NULL,
`description` text NOT NULL,
`activation` tinyint(1) NOT NULL DEFAULT '0',
`vendore_code` varchar(512) NOT NULL,
`amount` varchar(512) NOT NULL,
`tag` int(11) NOT NULL DEFAULT '0',
`show_tag` tinyint(1) NOT NULL DEFAULT '0',
`price` varchar(512) NOT NULL,
`min_price` varchar(512) NOT NULL,
`youtube_link` varchar(512) NOT NULL,
`commerceml_id` varchar(255) DEFAULT NULL,
`create_date` int(11) NOT NULL DEFAULT '0',
`in_stock_date` int(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB AUTO_INCREMENT=997 DEFAULT CHARSET=utf8;
INSERT INTO `webstore_products` (`id`, `sort`, `category_id`, `image`, `title`, `url`, `image_alt`, `subcategories`, `analogues_products`, `gift`, `discount`, `description`, `activation`, `vendore_code`, `amount`, `tag`, `show_tag`, `price`, `min_price`, `youtube_link`, `commerceml_id`, `create_date`, `in_stock_date`) VALUES (996, 996, 27, 'img.jpg', 'title', 'url', '', '', '', '', '', 'descr', 1, '', '7', 1, 0, '60', '0', '', 'IK8TYO08i9PQGvFGTeX7P3', 1490017800, 1495141310);
ALTER TABLE `webstore_products`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `commerceml_id` (`commerceml_id`),
ADD KEY `sort` (`sort`),
ADD KEY `activation` (`activation`,`amount`(255),`tag`,`in_stock_date`);
Запрос устанавливает остаток товара в 0, хотя должен устанавливать в 6.
PHP:
INSERT INTO webstore_products (id) VALUES ('996') ON DUPLICATE KEY UPDATE amount=CASE WHEN id=996 THEN amount=6 ELSE VALUES(amount) END
Подскажите в чем может быть причина такого поведения?