有一个产品表。并且有列 qty(数量)、buy_price(购买价格)和 total(总计)。是否有可能在 MYSQL 中以某种方式将 qty 字段乘以 buy_price 并在总字段中提取答案?
表结构:
CREATE TABLE `products` (
`id` int(11) UNSIGNED NOT NULL,
`name` varchar(255) NOT NULL,
`qty` varchar(50) DEFAULT NULL,
`buy_price` decimal(25,2) DEFAULT NULL,
`total` decimal(25,2) DEFAULT NULL,
`sale_price` decimal(25,2) NOT NULL,
`categorie_id` int(11) UNSIGNED NOT NULL,
`media_id` int(11) DEFAULT '0',
`date` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
测试数据:
INSERT INTO `products` (`id`, `name`, `qty`, `buy_price`, `sale_price`, `categorie_id`, `media_id`, `date`) VALUES
(2, 'Samsung', '10', '500.00', '510.00', 1, 0, '2017-07-31 15:31:48'),
(3, 'LG', '5', '250.00', '260.00', 2, 0, '2017-08-03 12:33:17');
感谢大家的回复。我以非常平庸的方式解决了这个问题(甚至可能不正确),我按照建议进行了更新
update products set total=qty*buy_price
对于其他产品,我直接在 PHP 中进行了乘法运算(我不知道这是否正确)。
不过,正如 Anatol 建议的那样,我必须通过触发器来完成。
您可以这样做(重新创建表),如下所示:
像这样重新创建列:
或触发器: