1
я должен создать таблицу с этим запросом:Mysql, обновление с заказом по дате
CREATE TABLE `m_stock_onhand` (
`m_stock_onhand_id` int(11) NOT NULL AUTO_INCREMENT,
`app_org_id` int(11) DEFAULT NULL,
`m_product_id` int(11) NOT NULL,
`m_inout_date` date NOT NULL,
`prev_quantity` int(11) NOT NULL,
`in_quantity` int(11) NOT NULL,
`out_quantity` int(11) NOT NULL,
`balance_quantity` int(11) NOT NULL,
`latest` char(1) NOT NULL,
`update_user` int(11) DEFAULT NULL,
`update_date` datetime DEFAULT NULL,
PRIMARY KEY (`m_stock_onhand_id`),
UNIQUE KEY `m_product_id` (`m_product_id`,`m_inout_date`,`app_org_id`)
) ENGINE=InnoDB AUTO_INCREMENT=93167 DEFAULT CHARSET=utf8;
я хочу, чтобы обновить 2 поля prev_quantity и balance_quantity, но не действует statemant.
UPDATE m_stock_onhand e,
(SELECT @n := 0) m
SET e.prev_quantity = @n,
e.balance_quantity = (@n := @n + e.in_quantity - e.out_quantity)
WHERE e.m_product_id = '3967'
order by e.m_inout_date;
этот запрос работает без «порядка» заявление, но его не действует расчет, потому что расчет должны действительно для DateTime в.